Skip to content

Commit c77b64e

Browse files
committed
2026-03-24 00:04
1 parent d0035f9 commit c77b64e

3 files changed

Lines changed: 32 additions & 7 deletions

File tree

src/p/leetcode/index.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ Invert Binary Tree
275275
:diffculty: Easy
276276
:language: go
277277
:key: 二叉树
278-
:date: 2021-07-07
278+
:date: 2021-07-07 2026-03-23
279279

280280
我能去 Google 了吗?[#]_
281281

@@ -691,9 +691,12 @@ Reverse Linked List
691691
递归
692692
万万没想到……递归我没写出来。看题解,题解说很明白了。
693693

694+
2026-03-23: 写出来了
695+
694696
迭代
695697
拿个栈。
696698

699+
2026-03-23: 存 cur 和 next 两个指针。
697700

698701
Reverse Linked List II
699702
----------------------

src/p/leetcode/invert-binary-tree/main.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
package main
22

3-
// for a binary tree node.
3+
// for a binary tree node.
44
type TreeNode struct {
55
Val int
66
Left *TreeNode
77
Right *TreeNode
88
}
99

1010
func invertTree(root *TreeNode) *TreeNode {
11-
if root != nil {
12-
l := root.Left
13-
r := root.Right
14-
root.Left = invertTree(r)
15-
root.Right = invertTree(l)
11+
if root == nil {
12+
return nil
1613
}
14+
l, r := root.Left, root.Right
15+
root.Left = invertTree(r)
16+
root.Right = invertTree(l)
1717
return root
1818
}
1919

src/p/leetcode/reverse-linked-list/main.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,23 @@ func reverseList2(head *ListNode) *ListNode {
4444
return head
4545
}
4646

47+
// 迭代法,存两个指针。
48+
func reverseList3(head *ListNode) *ListNode {
49+
if head == nil || head.Next == nil {
50+
return head
51+
}
52+
cur := head
53+
next := head.Next
54+
for next != nil {
55+
nextnext := next.Next
56+
next.Next = cur
57+
cur = next
58+
next = nextnext
59+
}
60+
head.Next = nil
61+
return cur
62+
}
63+
4764
func main() {
4865
a := reverseList(&ListNode{Val: 1, Next: &ListNode{Val: 2}})
4966
for a != nil {
@@ -55,4 +72,9 @@ func main() {
5572
fmt.Println(a)
5673
a = a.Next
5774
}
75+
a = reverseList3(&ListNode{Val: 1, Next: &ListNode{Val: 2}})
76+
for a != nil {
77+
fmt.Println(a)
78+
a = a.Next
79+
}
5880
}

0 commit comments

Comments
 (0)