`
hcx2013
  • 浏览: 88699 次
社区版块
存档分类
最新评论

Intersection of Two Linked Lists

 
阅读更多

Write a program to find the node at which the intersection of two singly linked lists begins.

 

For example, the following two linked lists:

A:          a1 → a2
                   ↘
                     c1 → c2 → c3
                   ↗            
B:     b1 → b2 → b3

begin to intersect at node c1.

 

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        if (headA == null || headB == null) {
        	return null;
        }
        ListNode cur1 = headA;
        ListNode cur2 = headB;
        int n = 0;
        while (cur1.next != null) {
        	n++;
        	cur1 = cur1.next;
        }
        while (cur2.next != null) {
        	n--;
        	cur2 = cur2.next;
        }
        if (cur1 != cur2) {
        	return null;
        }
        cur1 = n > 0 ? headA : headB;
        cur2 = cur1 == headA ? headB : headA;
        n = Math.abs(n);
        while (n != 0) {
        	n--;
        	cur1 = cur1.next;
        }
        while (cur1 != cur2) {
        	cur1 = cur1.next;
        	cur2 = cur2.next;
        }
        return cur1;
    }
}

 

1
1
分享到:
评论

相关推荐

    js-leetcode题解之160-intersection-of-two-linked-lists.js

    javascript js_leetcode题解之160-intersection-of-two-linked-lists.js

    python-leetcode题解之160-Intersection-of-Two-Linked-Lists.py

    python python_leetcode题解之160_Intersection_of_Two_Linked_Lists.py

    leetcode2sumc-LeetCode:LeetCode的一些题目

    leetcode 2 sum c LeetCode 帮助文档 帮助文档存放在Help文件夹下。...Intersection of Two Linked Lists 203 Easy Remove Linked List Elements no 206 Easy Reverse Linked List 234 Easy Palindrome Linked List

    LeetCodeAgri.zip

    2. **链表**:链表数据结构在LeetCode中也占据重要地位,如"删除链表中的元素"(Remove Element)和"两链表相交"(Intersection of Two Linked Lists)。Swift虽然没有内置链表,但开发者可以自定义节点结构体来模拟...

    LeetCode最全代码

    371 | [Sum of Two Integers](https://leetcode.com/problems/sum-of-two-integers/) | [C++](./C++/sum-of-two-integers.cpp) [Python](./Python/sum-of-two-integers.py) | _O(1)_ | _O(1)_ | Easy | LintCode | ...

    LeetCode

    例如,“两链表的交点”(Intersection of Two Linked Lists)要求找出两个链表的第一个公共节点。 3. **字符串(Strings)**:处理字符串的拼接、查找、替换等问题。如“无重复字符的最长子串”(Longest ...

    leetcode:LeetCode练习

    3. **链表操作**:如“两链表的交点”(Intersection of Two Linked Lists),需要找到两个链表的第一个公共节点。 4. **树结构**:如“二叉树的最近公共祖先”(Lowest Common Ancestor of a Binary Tree),需要找到...

    Leetcode:LeetCode 刷题总结

    例如,"两链表的交点"(Intersection of Two Linked Lists)要求找到两个链表的交点,或者"删除链表中的节点"(Remove Nth Node From End of List)需要删除链表的指定位置节点。 3. **字符串**:字符串处理题目...

    leetCode:Leetcode解决方案

    例如,Reverse Linked List(反转链表)和Intersection of Two Linked Lists(两个链表的交集)等题目,都需要对链表进行操作。 3. 栈与队列:栈具有后进先出(LIFO)特性,队列则遵循先进先出(FIFO)原则。例如,...

    leetcode:LeetCode解决方案

    "两链表的第一个公共节点"(Intersection of Two Linked Lists)就是一个实例。 4. **二叉树**:二叉树结构常用于搜索和排序,LeetCode 中有许多涉及遍历、平衡、构造和修剪的问题。"二叉树的最大路径和"(Maximum ...

    leetcode:我对Leetcode问题的解决方案的集合

    3. **链表**:链表问题考察了指针操作和递归能力,如"两链表的交点"(Intersection of Two Linked Lists)需要找到两个链表的第一个公共节点。 4. **栈和队列**:这两个数据结构常用于处理层次遍历和逆序操作。...

    leetcode:我的leetcode培训。 实践使完美!

    "两链表的交叉点"(Intersection of Two Linked Lists)是一道常见的链表题目。 4. **树**:涉及二叉树、平衡二叉树、红黑树等,题目涵盖遍历、搜索、构造等。"二叉树的最大路径和"(Maximum Depth of Binary Tree...

    leetcode中文版-LeetCode:力码

    leetcode中文版 LeetCode/Cpp 本人刷题记录在此,包含题意理解与算法思路,包含在Cpp文件内部注释,后续会持续更新。 有不懂的可以联系ji648513181,同时也欢迎志同道合O的朋友一起...160.Intersection of Two Linke

    leetcode2sumc-ack-CherishLeetCode:ack-CherishLeetCode

    leetcode 2 sum c LeetCode 贵有恒,何必三更起五更睡;最无益,只怕一日暴十寒。 我的个人网站: 分享技术,乐享生活:Jack Cui公众号每周五推送“程序员欢乐送”系列资讯类文章,欢迎您...Intersection of Two Linke

    leetcode2sumc--Offer:-提供

    leetcode 2 sum c LeetCode 贵有恒,何必三更起五更睡;最无益,只怕一日暴十寒。 我的个人网站: 分享技术,乐享生活:Jack Cui公众号每周五推送“程序员欢乐送”系列资讯类文章,欢迎您...Intersection of Two Linke

    leetcode分发糖果-ForDaFactory:使用C++的个人leetcode解决方案

    160-相交链表:intersection-of-two-linked-lists 206-反转一个单链表:reverse-linked-list 20-有效的括号:valid-parentheses 150-逆波兰表达式求值:evaluate-reverse-polish-notation 155-最小栈:min-stack Tree ...

    leetcode盒子嵌套-leetcode:leetcode上的解决方案

    leetcode 盒子包装leetcode leetcode 上的解决方案 # 问题 关联 1 一维数组的运行总和 2 子矩形查询 3 洗牌 4 好的对数 5 拥有最多糖果的孩子 ...lcc-march2021/intersection-of-two-linked-lists 32 lcc-

    Tricks of the Windows video Game Programming---part1

    Tricks of the Windows video Game Programming <br>PART I Windows Programming Foundations 7 1 Journey into the Abyss 9 A Little History.............................................................

Global site tag (gtag.js) - Google Analytics