博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode Intersection of Two Linked Lists
阅读量:5876 次
发布时间:2019-06-19

本文共 1607 字,大约阅读时间需要 5 分钟。

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:

    • If the two linked lists have no intersection at all, return null.
    • The linked lists must retain their original structure after the function returns.
    • You may assume there are no cycles anywhere in the entire linked structure.
    • Your code should preferably run in O(n) time and use only O(1) memory.

 

也挺简单的,不过我比较粗心,还是很多小细节没有注意。每次变量一多,我就快烦死了== 

刚开始取得两个列表的长度,要对其才可以判断。其他的没有什么注意的点了。

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {        int lengthA=0,lengthB=0,d=0;        ListNode* tempA=headA,*tempB=headB;        while(tempA!=NULL){lengthA++;tempA=tempA->next;}        while(tempB!=NULL){lengthB++;tempB=tempB->next;}        tempA=headA;tempB=headB;        if(lengthA>lengthB){            d=lengthA-lengthB;            while(d--) tempA=tempA->next;        }        else{            d=lengthB-lengthA;            while(d--) tempB=tempB->next;        }        d=min(lengthA,lengthB);        while(d--){            if(tempA==tempB) return tempA;            else{ tempA=tempA->next;                  tempB=tempB->next;}        }        return NULL;                    }};

 

转载于:https://www.cnblogs.com/LUO77/p/5028602.html

你可能感兴趣的文章
Android 好看的搜索界面,大赞Animation
查看>>
查询反模式 - GroupBy、HAVING的理解
查看>>
[转]动态加载javascript
查看>>
【协议】5、gossip 协议
查看>>
基于配置文件的redis的主从复制
查看>>
hasura graphql 角色访问控制
查看>>
springmvc中controller内方法跳转forward?redirect?
查看>>
C#委托,事件理解入门 (译稿)转载
查看>>
容器的end()方法
查看>>
[转] Agile Software Development 敏捷软件开发
查看>>
HDU 1007 Quoit Design (最小点对,模板题)
查看>>
Windows Phone 7 自定义事件
查看>>
Objective-c 网址中带中文解决方法
查看>>
向函数传递数组的问题
查看>>
上班族的坐姿
查看>>
ubuntu 12.04 下面安装vmware workstation 8.0.4
查看>>
[原创]FineUI秘密花园(二十三) — 树控件概述
查看>>
【Java学习笔记】如何写一个简单的Web Service
查看>>
如何解决This system is not registered with RHN.
查看>>
Cocos2d-x学习笔记(两)Cocos2d-x总体框架
查看>>