美文网首页
21. 合并两个有序链表

21. 合并两个有序链表

作者: 名字是乱打的 | 来源:发表于2021-06-30 23:01 被阅读0次

    思路:

    感觉没啥好说的,两链表每次取头指针进行判断,如果一方为空直接将另一方剩下的链表直接接到新链表上即可。如果两方都不为空就进行比较

    代码:

    class Solution {
            public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
                ListNode pre = new ListNode(0);
                ListNode curr = pre;
                while (l1 != null || l2 != null) {
                    if (l1 == null) {
                        curr.next = l2;
                        return pre.next;
                    }
    
                    if (l2 == null) {
                        curr.next = l1;
                        return pre.next;
                    }
    
                    if (l1.val < l2.val) {
                        curr.next = l1;
                        curr = curr.next;
                        l1 = l1.next;
                    } else {
                        curr.next = l2;
                        curr = curr.next;
                        l2 = l2.next;
                    }
                }
    
                return pre.next;
            }
        }
    

    相关文章

      网友评论

          本文标题:21. 合并两个有序链表

          本文链接:https://www.haomeiwen.com/subject/duudultx.html