链表oj----合并两个有序链表
Posted ohana!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表oj----合并两个有序链表相关的知识,希望对你有一定的参考价值。
题目内容:
解题代码:
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if(l1 == null){
return l2;
}
if(l2 == null){
return l1;
}
ListNode list1 = new ListNode(0);
ListNode cur = list1;
while(l1 != null && l2 != null){
if(l1.val < l2.val){
cur.next = l1;
l1 = l1.next;
}else{
cur.next = l2;
l2 = l2.next;
}
cur = cur.next;
}
if(l1 == null){
cur.next = l2;
}
if(l2 == null){
cur.next = l1;
}
return list1.next;
}
}
解答思路:
- 先判断两个链表是否为空,若list1 为空,则返回list2;若list2 为空则返回list1
- 创建一个新的链表,让新链表的头节点指向较小数值的那个结点,更改指向
- 若两个链表不一样长,则将新链表指向长链表多余的部分
- 最后返回新链表的list1.next
以上是关于链表oj----合并两个有序链表的主要内容,如果未能解决你的问题,请参考以下文章