1
1
#链接
2
- -------
2
+ -------
3
3
> 牛客OJ:[ 两个链表的第一个公共结点] ( http://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46?tpId=13&tqId=11189&rp=2&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking )
4
- >
4
+ >
5
5
> 九度OJ:http://ac.jobdu.com/problem.php?pid=1505
6
- >
6
+ >
7
7
> GitHub代码: [ 037-两个链表的第一个公共结点] ( https://github.com/gatieme/CodingInterviews/tree/master/037-两个链表的第一个公共结点 )
8
8
>
9
9
> CSDN题解:[ 剑指Offer--037-两个链表的第一个公共结点] ( http://blog.csdn.net/gatieme/article/details/51330871 )
10
10
11
11
12
- | 牛客OJ | 九度OJ | CSDN题解 | GitHub代码 |
13
- | ------------- | :-------------:| -----:|
12
+ | 牛客OJ | 九度OJ | CSDN题解 | GitHub代码 |
13
+ | ------------- | :-------------:| -----:|
14
14
| [ 037-两个链表的第一个公共结点] ( http://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46?tpId=13&tqId=11189&rp=2&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking ) | [ 1505-两个链表的第一个公共结点] ( http://ac.jobdu.com/problem.php?pid=1505 ) | [ 剑指Offer--037-两个链表的第一个公共结点] ( http://blog.csdn.net/gatieme/article/details/51330871 ) | [ 037-两个链表的第一个公共结点] ( https://github.com/gatieme/CodingInterviews/tree/master/037-两个链表的第一个公共结点 ) |
15
15
16
16
17
17
18
+
19
+ <br >** 您也可以选择[ 回到目录-剑指Offer--题集目录索引] ( http://blog.csdn.net/gatieme/article/details/51916802 ) **
20
+
21
+
22
+
23
+
18
24
#题意
19
25
-------
20
26
@@ -80,7 +86,7 @@ public:
80
86
if(left == right)
81
87
{
82
88
break;
83
- }
89
+ }
84
90
}
85
91
if(left == right)
86
92
{
@@ -194,7 +200,7 @@ public:
194
200
195
201
return ((left == right) ? left : NULL);
196
202
}
197
-
203
+
198
204
int GetListLength(ListNode *head)
199
205
{
200
206
ListNode *node = head;
@@ -203,7 +209,7 @@ public:
203
209
{
204
210
length++;
205
211
node = node->next;
206
- }
212
+ }
207
213
208
214
return length;
209
215
}
@@ -284,7 +290,7 @@ public:
284
290
{
285
291
ListNode * left = leftHead;
286
292
ListNode * right = rightHead;
287
-
293
+
288
294
stack<ListNode *> leftStack;
289
295
stack<ListNode *> rightStack;
290
296
@@ -309,9 +315,9 @@ public:
309
315
{
310
316
left = leftStack.top( );
311
317
right = rightStack.top( );
312
-
318
+
313
319
debug <<left->val <<", " <<right->val <<endl;
314
-
320
+
315
321
/// 不相同的元素就是合并的前一个结点
316
322
if(left != right)
317
323
{
@@ -359,14 +365,14 @@ public:
359
365
ListNode* FindFirstCommonNode(ListNode * leftHead, ListNode * rightHead)
360
366
{
361
367
unordered_map<ListNode* , bool> umap;
362
-
368
+
363
369
ListNode* left = leftHead;
364
370
while (left != NULL)
365
371
{
366
372
umap.insert(make_pair(left, 1 ));
367
373
left = left->next;
368
374
}
369
-
375
+
370
376
ListNode* right = rightHead;
371
377
while (right)
372
378
{
@@ -379,4 +385,4 @@ public:
379
385
return NULL;
380
386
}
381
387
};
382
- ```
388
+ ```
0 commit comments