变身 变装 wordpress,成都百度快照优化排名,上海做网站多少钱,网店推广1+x证书题目描述
题目链接#xff1a;https://leetcode.cn/problems/merge-two-sorted-lists/description/
思路 两个链表都是升序链表#xff0c;新建一个链表#xff0c;引入伪头节点作为辅助节点#xff0c;将各节点添加到伪节点之后#xff0c;再用一个cur节点指向新链表的…题目描述
题目链接https://leetcode.cn/problems/merge-two-sorted-lists/description/
思路 两个链表都是升序链表新建一个链表引入伪头节点作为辅助节点将各节点添加到伪节点之后再用一个cur节点指向新链表的末尾 遍历两个链表对比每个节点值将更小的链表节点加入到新链表中 如果其中一个链表未遍历完那就直接加入到新链表后面
实现代码
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/
class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode list new ListNode(); //伪头节点ListNode cur list; // cur 指向新链表的末尾while (list1 ! null list2 ! null) {if (list1.val list2.val) {cur.next list1; // 把 list1 加到新链表中list1 list1.next;} else { cur.next list2; // 把 list2 加到新链表中list2 list2.next;}cur cur.next;}cur.next list1 ! null ? list1 : list2; // 拼接剩余的链表return list.next;}
}