File tree Expand file tree Collapse file tree 4 files changed +68
-15
lines changed
src/main/java/com/diguage/algo/leetcode Expand file tree Collapse file tree 4 files changed +68
-15
lines changed Original file line number Diff line number Diff line change @@ -16,22 +16,9 @@ image::images/0021-00.jpg[{image_attr}]
16
16
17
17
== 思路分析
18
18
19
- === 迭代
19
+ 最先想到的是迭代。
20
20
21
- [[src-0021]]
22
- [{java_src_attr}]
23
- ----
24
- include::{sourcedir}/_0021_MergeTwoSortedLists.java[tag=answer]
25
- ----
26
-
27
- [{java_src_attr}]
28
- ----
29
- include::{sourcedir}/_0021_MergeTwoSortedLists_2.java[tag=answer]
30
- ----
31
-
32
- === 递归
33
-
34
- 没想到这个题也可以用递归解决!
21
+ 但是,也可以用递归解决!
35
22
36
23
image::images/0021-09.png[{image_attr}]
37
24
@@ -53,6 +40,37 @@ image::images/0021-07.jpeg[{image_attr}]
53
40
54
41
image::images/0021-08.jpeg[{image_attr}]
55
42
43
+ [[src-0021]]
44
+ [tabs]
45
+ ====
46
+ 一刷::
47
+ +
48
+ --
49
+ [{java_src_attr}]
50
+ ----
51
+ include::{sourcedir}/_0021_MergeTwoSortedLists.java[tag=answer]
52
+ ----
53
+ --
54
+
55
+ 二刷::
56
+ +
57
+ --
58
+ [{java_src_attr}]
59
+ ----
60
+ include::{sourcedir}/_0021_MergeTwoSortedLists_2.java[tag=answer]
61
+ ----
62
+ --
63
+
64
+ 三刷::
65
+ +
66
+ --
67
+ [{java_src_attr}]
68
+ ----
69
+ include::{sourcedir}/_0021_MergeTwoSortedLists_3.java[tag=answer]
70
+ ----
71
+ --
72
+ ====
73
+
56
74
57
75
== 参考资料
58
76
Original file line number Diff line number Diff line change 600
600
|{doc_base_url} /0343-integer-break.adoc[题解]
601
601
|动态规划,数学分析也可以看一下:怎么样计算自然底数 `e` 的值?
602
602
603
+ |{counter:codes}
604
+ |{leetcode_base_url} /merge-two-sorted-lists/[21. Merge Two Sorted Lists^]
605
+ |{doc_base_url} /0021-merge-two-sorted-lists.adoc[题解]
606
+ |递归
607
+
603
608
|===
604
609
605
610
截止目前,本轮练习一共完成 {codes} 道题。
Original file line number Diff line number Diff line change 27
27
*/
28
28
public class _0021_MergeTwoSortedLists_2 {
29
29
// tag::answer[]
30
+ /**
31
+ * @author D瓜哥 · https://www.diguage.com
32
+ * @since 2024-07-02 19:43:59
33
+ */
30
34
public ListNode mergeTwoLists (ListNode l1 , ListNode l2 ) {
31
35
if (Objects .isNull (l1 )) {
32
36
return l2 ;
Original file line number Diff line number Diff line change
1
+ package com .diguage .algo .leetcode ;
2
+
3
+ import com .diguage .algo .util .ListNode ;
4
+
5
+ public class _0021_MergeTwoSortedLists_3 {
6
+ // tag::answer[]
7
+ /**
8
+ * @author D瓜哥 · https://www.diguage.com
9
+ * @since 2024-07-02 19:43:59
10
+ */
11
+ public ListNode mergeTwoLists (ListNode l1 , ListNode l2 ) {
12
+ if (l1 == null ) {
13
+ return l2 ;
14
+ } else if (l2 == null ) {
15
+ return l1 ;
16
+ } else if (l1 .val < l2 .val ) {
17
+ // 升序链表,则把最小的留下,其余的进行递归。
18
+ l1 .next = mergeTwoLists (l1 .next , l2 );
19
+ return l1 ;
20
+ } else {
21
+ l2 .next = mergeTwoLists (l1 , l2 .next );
22
+ return l2 ;
23
+ }
24
+ }
25
+ // end::answer[]
26
+ }
You can’t perform that action at this time.
0 commit comments