题解 | #两个链表的第一个公共结点#

两个链表的第一个公共结点

https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46

import java.util.*;
/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
 
    int length1 = getLengthx(pHead1);
        int length2 = getLengthx(pHead2);

        while (length1 != length2) {
            if (length1 > length2) {
                pHead1 = pHead1.next;
                length1--;
            } else {
                pHead2 = pHead2.next;
                length2--;
            }
        }

        while (pHead1!=pHead2) {
            pHead1 = pHead1.next;
            pHead2 = pHead2.next;
        }

        return pHead1;
    }

    private int getLengthx(ListNode pHead1) {
        int i = 0;
        while(pHead1!=null) {
            pHead1 = pHead1.next ;
            i++;
        }
        return i;
    }
}

全部评论

相关推荐

01-07 15:50
四川大学 Java
看日出看日落:好好背八股,做算法。我身边跟你bg差不多的基本都大厂暑期
点赞 评论 收藏
分享
明天不下雨了:我靠2022了都去字节了还什么读研我教你****:你好,本人985电子科大在读研一,本科西南大学(211)我在字节跳动实习过。对您的岗位很感兴趣,希望获得一次投递机会。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务