將兩個升序連結串列合併為一個新的 升序 連結串列並返回。(新手篇06)
將兩個升序連結串列合併為一個新的 升序 連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。
示例:
輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
我們可以用遞迴實現這個問題
我這裡要定義一個函式
struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){
//ListNode* l1連結串列l1,ListNode* l2連結串列l2;
if(l1NULL)
return l2;
if(l2NULL)
return l1; //要考慮連結串列為空的處理辦法
if(l1->valval) //兩個升序連結串列,它們要比較值的大小
{
l1->next= mergeTwoLists( l1->next, l2);
return l1;
}
else
{
l2->next= mergeTwoLists( l1,l2->next);
}
return l2;
}
//main函式呼叫
int main()
{
struct ListNode* a,
struct ListNode* b,
printf(“輸入l1:”)
scanf("%d",ListNodea);
printf(“輸入l2:”)
scanf("%d",ListNodeb);
struct ListNode* c;
struct ListNode* c=ListNode* mergeTwoLists(struct ListNode* a, struct ListNode* b)
printf("%d",ListNode* c);
}
相關文章
- leecode.23. 合併K個升序連結串列
- 淺談歸併排序:合併 K 個升序連結串列的歸併解法排序
- 合併兩個有序連結串列
- leetcode:21. 合併兩個有序連結串列(連結串列,簡單)LeetCode
- 合併K個排序連結串列排序
- JZ-016-合併兩個排序的連結串列排序
- 每日leetcode——21. 合併兩個有序連結串列LeetCode
- 遞迴:21. 合併兩個有序連結串列遞迴
- leetcode雙週賽(2)-合併兩個連結串列LeetCode
- 兩個連結串列的第一個公共結點
- 【LeetCode Hot 100】21. 合併兩個有序連結串列LeetCode
- Leetcode 21 合併兩個有序連結串列 學習感悟LeetCode
- 反轉連結串列、合併連結串列、樹的子結構
- 請判斷一個連結串列是否為迴文連結串列。
- [每日一題] 第十八題:合併兩個排序的連結串列每日一題排序
- 【演算法-java實現】合併兩個有序連結串列演算法Java
- 7-2 兩個有序連結串列序列的合併 (20分)
- 7-24 兩個有序連結串列序列的合併 (20 分)
- leetcode23. 合併K個排序連結串列LeetCode排序
- LeetCode 23. 合併K個排序連結串列LeetCode排序
- 兩個連結串列的第一個公共節點
- 23. 合併K個元素的有序連結串列
- 兩個有序連結串列序列的交集
- Fourth. LeetCode 21:MergeTwo Sorted Lists 合併兩個有序連結串列LeetCode
- JZ-036-兩個連結串列的第一個公共結點
- 演算法基礎~連結串列~排序連結串列的合併(k條)演算法排序
- 02-線性結構1 兩個有序連結串列序列的合併 (15分)
- 劍指 Offer 25. 合併兩個排序的連結串列 JavaScript實現排序JavaScript
- 讓我們一起啃演算法----合併兩個有序連結串列演算法
- [連結串列]leetcode1019-連結串列中的下一個更大節點LeetCode
- 連結串列的作用和好處?如何用JS來寫一個連結串列JS
- [連結串列】2.輸入一個連結串列,反轉連結串列後,輸出新連結串列的表頭。[多益,位元組考過]
- 定義一個函式,輸入一個連結串列的頭節點,反轉該連結串列並輸出反轉後連結串列的頭節點函式
- 為什麼Oracle要搞出兩個髒連結串列Oracle
- 反轉一個單連結串列。
- 劍指offer——兩個連結串列的第一個公共結點C++C++
- Day4(連結串列)|24. 兩兩交換連結串列中的節點 & 19.刪除連結串列的倒數第N個節點 & 面試題 02.07. 連結串列相交 &142.環形連結串列II面試題
- 連結串列-迴圈連結串列