一、剑指 Offer 25. 合并两个排序的链表
地址
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode res=new ListNode(0);
ListNode temp=res;
while(l1!=null&&l2!=null){
if(l1.val<=l2.val){
temp.next=l1;
l1=l1.next;
}else{
temp.next=l2;
l2=l2.next;
}
temp=temp.next;
}
if(l1!=null||l2!=null){
temp.next=l1==null?l2:l1;
}
return res.next;
}
}
二、剑指 Offer 52. 两个链表的第一个公共节点
地址
class Solution {
ListNode getIntersectionNode(ListNode headA, ListNode headB) {
Set<ListNode> hash=new HashSet<>();
while(headA!=null){
hash.add(headA);
headA=headA.next;
}
while(headB!=null){
if(!hash.add(headB)){
return headB;
}
headB=headB.next;
}
return null;
}
}