leetcode之合併兩個有序鍊錶

2021-09-19 12:21:42 字數 1489 閱讀 3038

題目:將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。

示例:

輸入:1->2->4, 1->3->4

輸出:1->1->2->3->4->4

思路:從兩鍊錶第乙個結點開始比較結點的值,取較小者作為合併鍊錶的元素,依次進行;後面如果有乙個鍊錶為空,則直接把不為空的鍊錶接到合併鍊錶的後面。

方法1.採用非遞迴方法

/** * definition for singly-linked list. * public

class listnode  * } */class solution else                    }        if(temp1==null&&temp2!=null)                if(temp2==null&&temp1!=null)                return ret1.next;    }}

方法二.採用遞迴方法(待優化)

/** * definition for singly-linked list. * public class listnode  * } */class solution     public listnode getresult(listnode t1,listnode t2)    else                return head.next;    }}

題目:將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。

示例:

輸入:1->2->4, 1->3->4

輸出:1->1->2->3->4->4

思路:從兩鍊錶第乙個結點開始比較結點的值,取較小者作為合併鍊錶的元素,依次進行;後面如果有乙個鍊錶為空,則直接把不為空的鍊錶接到合併鍊錶的後面。

方法1.採用非遞迴方法

/** * definition for singly-linked list. * public

class listnode  * } */class solution else                    }        if(temp1==null&&temp2!=null)                if(temp2==null&&temp1!=null)                return ret1.next;    }}

方法二.採用遞迴方法(待優化)

/** * definition for singly-linked list. * public class listnode  * } */class solution     public listnode getresult(listnode t1,listnode t2)    else                return head.next;    }}

LeetCode之21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 思路很簡單就是小的放前面大的放後面。如果相等就依次放入。注意的是 1.不能直接返回l3,需要記錄它的位置。返回start 2.要l3.next...

LeetCode之88 合併兩個有序陣列

難度 簡單 型別 陣列 給你兩個有序整數陣列 nums1 和 nums2,請你將 nums2 合併到 nums1 中,使 nums1 成為乙個有序陣列。說明 初始化 nums1 和 nums2 的元素數量分別為 m 和 n 你可以假設 nums1 有足夠的空間 空間大小大於或等於 m n 來儲存 n...

LeetCode 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4輸出 1 1 2 3 4 4class solution else listnode p new head while l1 null l2 null else p p ne...