【力扣网练习题】合并两个有序链表
生活随笔
收集整理的這篇文章主要介紹了
【力扣网练习题】合并两个有序链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
將兩個有序鏈表合并為一個新的有序鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。
示例:輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
解法一:雙指針法
- 時間復雜度:O(a+b) 循環比較兩個子問題的次數為 a+b a,b為兩個子問題的長度
- 空間復雜度:O(1) 雙指針,常數級別復雜度
/*** Definition for singly-linked list.* function ListNode(val) {* this.val = val;* this.next = null;* }*/
/*** @param {ListNode} l1* @param {ListNode} l2* @return {ListNode}*/
var mergeTwoLists = function(l1, l2) {var prevHead = new ListNode(-1);var prevNode = prevHead;while (l1 != null && l2 != null) {if(l1.val <= l2.val){prevNode.next = l1; l1 = l1.next}else{prevNode.next = l2;l2 = l2.next;}prevNode = prevNode.
總結
以上是生活随笔為你收集整理的【力扣网练习题】合并两个有序链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【力扣网练习题】有效的括号
- 下一篇: 【力扣网练习题】删除排序数组中的重复项