美文网首页
LeetCode 156-160

LeetCode 156-160

作者: 1nvad3r | 来源:发表于2020-11-11 09:56 被阅读0次

    160. 相交链表

    先计算两个链表的长度,然后再根据长度使两个链表从相等的长度开始一起出发。直到走到两个结点相同时返回。如果没有相同的结点,那么最后会走到null返回。

    public class Solution {
        public int getLength(ListNode node) {
            int length = 0;
            while (node != null) {
                length++;
                node = node.next;
            }
            return length;
        }
    
        public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
            int lenA = getLength(headA), lenB = getLength(headB);
            while (lenA != lenB) {
                if (lenA > lenB) {
                    headA = headA.next;
                    lenA--;
                } else {
                    headB = headB.next;
                    lenB--;
                }
            }
            while (headA != headB) {
                headA = headA.next;
                headB = headB.next;
            }
            return headA;
        }
    }
    

    相关文章

      网友评论

          本文标题:LeetCode 156-160

          本文链接:https://www.haomeiwen.com/subject/dwqebktx.html