@@ -32,7 +32,7 @@ https://leetcode-cn.com/problems/add-two-numbers/solution/
3232我们使用变量来跟踪进位,并从包含最低有效位的表头开始模拟逐
3333位相加的过程。
3434
35- ![ 图1,对两数相加方法的可视化: 342 + 465 = 807342+465= 807, 每个结点都包含一个数字,并且数字按位逆序存储。] ( https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/18-9-20/34910956.jpg )
35+ ![ 图1,对两数相加方法的可视化: 342 + 465 = 807, 每个结点都包含一个数字,并且数字按位逆序存储。] ( https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/18-9-20/34910956.jpg )
3636
3737### Solution
3838
@@ -289,18 +289,13 @@ public class Solution {
289289 return dummy. next;
290290 }
291291}
292- ```
293-
294- ** 复杂度分析:**
295-
296- - ** 时间复杂度 O(L)** :该算法对列表进行了两次遍历,首先计算了列表的长度 LL 其次找到第 (L - n)(L−n) 个结点。 操作执行了 2L-n2L−n 步,时间复杂度为 O(L)O(L)。
297- - ** 空间复杂度 O(1)** :我们只用了常量级的额外空间。
292+ ``
298293
299294** 进阶——一次遍历法:**
300295
301- > 链表中倒数第 N 个节点也就是正数第(L-N+ 1)个节点。
296+ > 链表中倒数第 N 个节点也就是正数第(L - n + 1 )个节点。
302297
303- 其实这种方法就和我们上面第四题找“链表中倒数第 k 个节点”所用的思想是一样的。** 基本思路就是:** 定义两个节点 node1、node2;node1 节点先跑,node1 节点 跑到第 n+1 个节点的时候,node2 节点开始跑.当 node1 节点跑到最后一个节点时,node2 节点所在的位置就是第 (L- n ) 个节点(L 代表总链表长度,也就是倒数第 n+ 1 个节点)
298+ 其实这种方法就和我们上面第四题找“链表中倒数第 k 个节点”所用的思想是一样的。** 基本思路就是:** 定义两个节点 node1、node2;node1 节点先跑,node1 节点 跑到第 n+ 1 个节点的时候,node2 节点开始跑. 当 node1 节点跑到最后一个节点时,node2 节点所在的位置就是第 (L - n ) 个节点(L 代表总链表长度,也就是倒数第 n + 1 个节点)
304299
305300```java
306301/**
@@ -371,20 +366,20 @@ public class ListNode {
371366}*/
372367// https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&tqId=11169&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
373368public class Solution {
374- public ListNode Merge (ListNode list1 ,ListNode list2 ) {
375- if (list1 == null ){
376- return list2;
377- }
378- if (list2 == null ){
379- return list1;
380- }
381- if (list1. val <= list2. val){
382- list1. next = Merge(list1. next, list2);
383- return list1;
384- } else {
385- list2. next = Merge(list1, list2. next);
386- return list2;
387- }
388- }
369+ public ListNode Merge (ListNode list1 , ListNode list2 ) {
370+ if (list1 == null ) {
371+ return list2;
372+ }
373+ if (list2 == null ) {
374+ return list1;
375+ }
376+ if (list1. val <= list2. val) {
377+ list1. next = Merge(list1. next, list2);
378+ return list1;
379+ } else {
380+ list2. next = Merge(list1, list2. next);
381+ return list2;
382+ }
383+ }
389384}
390385```
0 commit comments