(LeetCode)两个链表的第一个公共节点

LeetCode上面的题目如下:

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.

Notes:

我的解决方法如下:

/*** 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) { int lengthA = 0,lengthB = 0;for(ListNode head= headA;head!=null;head = head.next){lengthA++;}for(ListNode head = headB;head!=null;head = head.next){lengthB++;}if(lengthA>=lengthB){for(int i=0;i<lengthA-lengthB;i++){headA = headA.next;}}else{for(int i=0;i<lengthB-lengthA;i++){headB = headB.next;}}for(ListNode newA =headA,newB = headB;newA!=null&&newB!=null;newA = newA.next,newB = newB.next){if(newA==newB){return newA;}}return null; }}

版权声明:本文为博主原创文章,未经博主允许不得转载。

,即将转出来的那一面,是快乐或痛苦,是爱还是恨。

(LeetCode)两个链表的第一个公共节点

相关文章:

你感兴趣的文章:

标签云: