21. 合并两个有序链表(链表)
原地址
https://leetcode-cn.com/problems/merge-two-sorted-lists/submissions/
原理
两个链表合并,因为是有序的,所以直接从头比较两个链表,数据小的链表的指针进行移动。当其中的一个链表结束后(为 null),另外一个列表剩余的部分直接追加到新链表中。
代码
复制代码
https://leetcode-cn.com/problems/merge-two-sorted-lists/submissions/
两个链表合并,因为是有序的,所以直接从头比较两个链表,数据小的链表的指针进行移动。当其中的一个链表结束后(为 null),另外一个列表剩余的部分直接追加到新链表中。
/** * 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 l1, ListNode l2) { ListNode root=new ListNode(0); ListNode head=root; while(l1!=null && l2!=null){ if(l1.val<l2.val){ head.next=l1; head=head.next; l1=l1.next; }else{ head.next=l2; head=head.next; l2=l2.next; } } if(l1==null){ head.next=l2; } if(l2==null){ head.next=l1; } return root.next; }}还未添加个人签名 2019.11.30 加入
熟悉Java并发编程、数据结构和算法、FFmpeg音视频处理技术

促进软件开发及相关领域知识与创新的传播
京公网安备 11010502039052号


评论