剑指 Offer 25. 合并两个排序的链表
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode * head = new ListNode();
ListNode * cur = head;
while(l1 != nullptr && l2 != nullptr){
if(l1->val <= l2->val){
cur->next = l1;
l1 = l1->next;
}else{
cur->next = l2;
l2 = l2->next;
}
cur = cur->next;
}
cur->next = l1 != nullptr ? l1 : l2;
return head->next;
}
};
剑指 Offer 52. 两个链表的第一个公共节点
题目链接:剑指 Offer 52. 两个链表的第一个公共节点
class Solution {
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
ListNode * cur1 = headA;
ListNode * cur2 = headB;
while(cur1 != cur2){
cur1 = cur1 != NULL ? cur1->next : headA;
cur2 = cur2 != NULL ? cur2->next : headB;
}
return cur1;
}
};