/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/class Solution { public: ListNode* FindFirstCommonNo ...
分类:
其他好文 时间:
2021-03-29 12:50:50
阅读次数:
0
重磅干货,第一时间送达题目两个链表的第一个公共结点题目要求输入两个链表,找出它们的第一个公共结点。解题思路思路一:两条相交的链表呈Y型。可以从两条链表尾部同时出发,最后一个相同的结点就是链表的第一个相同的结点。可以利用栈来实现。时间复杂度有O(m+n),空间复杂度为O(m+n)思路二:思路一其实利用栈主要解决就是同时到达第一个结点的问题,需要有额外的空间。那么从链表头出发如何同时到达第一个相同的结
分类:
编程语言 时间:
2020-12-21 11:15:47
阅读次数:
0
题目描述 输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 题目链接: https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46?tpId=1 ...
分类:
其他好文 时间:
2020-06-09 09:48:46
阅读次数:
62
输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 图解: 思路1: 先统计两个链表长度,求出相差的步数len3; 让长的先走len3步,然后两个一块走,当两个指针相等时就是公共节点了 // 先统计两个链表长度,找出长度 ...
分类:
其他好文 时间:
2020-03-16 23:55:48
阅读次数:
98
题目链接:两个链表的第一个公共结点 题意:输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 题解:先计算两个链表的长度。让长的先走‘长度差’个节点。然后一起向后走,就能遇到公共节点。 既然是单链表的第一个公共节点,在公 ...
分类:
其他好文 时间:
2020-03-04 22:36:51
阅读次数:
156
1、两个链表的第一个公共结点 输入两个链表,找出它们的第一个公共结点。 当不存在公共节点时,返回空节点。 思路:让两个指针分别走一遍两个链表,交点就是公共节点: /** * Definition for singly-linked list. * struct ListNode { * int va ...
分类:
其他好文 时间:
2020-02-26 18:33:09
阅读次数:
73
Q:输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) T:这个题的意思是两个链表要么有公共结点,要么没有公共结点,不存在相交的情况。 A: 1.传统做法:长的先走,直到和短的相同长度,然后两个一起走,直至相等。 2.这 ...
分类:
其他好文 时间:
2020-02-18 16:37:38
阅读次数:
68
题目:输入两个链表,找出它们的第一个公共结点。 这道题可以画一个图,就会很清楚。解决方法是让两个指针从两个链表的头结点开始走,当指针走到空的时候,让它再从另一个链表的头结点开始走。当两个指针相遇的位置就是公共结点,两个指针相遇就是它们相等。如果不存在公共结点,则两个结点又都走向空,那这个时候则返回空 ...
分类:
其他好文 时间:
2019-12-23 13:10:34
阅读次数:
69
题目: 输入两个链表,找出它们的第一个公共结点。 分析: 先统计两个链表的长度,计算他们的差值,然后将两个链表对齐,再去寻找公共节点即可。 程序: C++ class Solution { public: ListNode* FindFirstCommonNode( ListNode* pHead1 ...
分类:
编程语言 时间:
2019-12-05 22:25:45
阅读次数:
95
题目描述 输入两个链表,找出它们的第一个公共结点。 解题思路 如果存在共同节点的话,那么从该节点,两个链表之后的元素都是相同的。 也就是说两个链表从尾部往前到某个点,节点都是一样的。 我们可以用两个栈分别来装这两条链表。一个一个比较出来的值。 找到第一个相同的节点。 代码如下 public clas ...
分类:
其他好文 时间:
2019-08-02 11:19:40
阅读次数:
91