LeetCode 21. 合并两个有序链表
Posted xiaoff
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 21. 合并两个有序链表相关的知识,希望对你有一定的参考价值。
题目将两个升序链表合并为一个新的升序链表并返回。
新链表是通过拼接给定的两个链表的所有节点组成的。
题目链接:https://leetcode-cn.com/problems/merge-two-sorted-lists/
代码
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode head = new ListNode(0);
ListNode temp = head;
while(l1 != null && l2 != null){
if(l1.val < l2.val){
temp.next = l1; //此时l1指向temp的下一个
l1 = l1.next; //l1继续往下一步走
}else{
temp.next = l2; //此时l2指向temp的下一个
l2 = l2.next; //l2继续往下一步走
}
temp = temp.next; //temp继续向下一步走
}
temp.next = l1==null ? l2:l1; //谁还没空,谁就直接附着到temp上面
return head.next;
}
}
大家如果感兴趣可以前去手搓
本分类只用作个人记录,大佬轻喷.
以上是关于LeetCode 21. 合并两个有序链表的主要内容,如果未能解决你的问题,请参考以下文章