码迷,mamicode.com
首页 > 其他好文 > 详细

Intersection of Two Linked Lists

时间:2015-04-10 06:57:47      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

原题解法超屌: ref  http://blog.csdn.net/u012162613/article/details/41560337

 

  public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        if(headA==null||headB==null) return null;
        //http://www.cnblogs.com/yuzhangcmu/p/4128794.html
        // 看似算法不难,但是想要写对必须得简化思路,亦即是说
        // A
        // 。。。。
        //       B 这种情况,要保证B马上跳的到跟A相同的位置,注意这里把一样的那些个路径啊,多余的路径全简略了
        
        ListNode pa = headA, pb = headB ;
        ListNode tailA =null, tailB = null;
        
        while(true){
            if(pa==null) pa = headB;
            if(pb==null) pb= headA;
            
            if(pa.next==null){
                tailA = pa; 
            } 
            if(pb.next==null){
                tailB = pb; 
            }
            
            if( tailA!=null && tailB!=null && tailA!=tailB) return null;
            if(pa==pb) return pa;
            pa = pa.next;
            pb = pb.next;
        }
    }

 

Intersection of Two Linked Lists

标签:

原文地址:http://www.cnblogs.com/jiajiaxingxing/p/4413404.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!