背景刷Leetcode, 发现一简单题, 但是涉及到Java 指针, 拿来复习回归下。
题目是:合并两个sorted linked list.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
解
public static ListNode mergeTwoLists(ListNode l1, ListNode l2){
if( l1 == null) return l2;
if( l2 == null) return l1;
ListNode head = new ListNode(0);
ListNode temp = head;
while( l1 != null && l2 != null){
if( l1.val < l2.val){
temp.next = new ListNode(l1.val);
l1 = l1.next;
temp = temp.next;
}else{
temp.next = new ListNode(l2.val);
l2 = l2.next;
temp = temp.next;
}
}
if(l1 == null){
temp.next = l2;
}else{
temp.next = l1;
}
return head.next;
}
有问题欢迎指出!