mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-05 16:36:41 +08:00
规范格式
This commit is contained in:
27
leetcode/0226.Invert-Binary-Tree/226. Invert Binary Tree.go
Normal file
27
leetcode/0226.Invert-Binary-Tree/226. Invert Binary Tree.go
Normal file
@ -0,0 +1,27 @@
|
||||
package leetcode
|
||||
|
||||
import (
|
||||
"github.com/halfrost/LeetCode-Go/structures"
|
||||
)
|
||||
|
||||
// TreeNode define
|
||||
type TreeNode = structures.TreeNode
|
||||
|
||||
/**
|
||||
* Definition for a binary tree node.
|
||||
* type TreeNode struct {
|
||||
* Val int
|
||||
* Left *TreeNode
|
||||
* Right *TreeNode
|
||||
* }
|
||||
*/
|
||||
|
||||
func invertTree(root *TreeNode) *TreeNode {
|
||||
if root == nil {
|
||||
return nil
|
||||
}
|
||||
invertTree(root.Left)
|
||||
invertTree(root.Right)
|
||||
root.Left, root.Right = root.Right, root.Left
|
||||
return root
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
package leetcode
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/halfrost/LeetCode-Go/structures"
|
||||
)
|
||||
|
||||
type question226 struct {
|
||||
para226
|
||||
ans226
|
||||
}
|
||||
|
||||
// para 是参数
|
||||
// one 代表第一个参数
|
||||
type para226 struct {
|
||||
one []int
|
||||
}
|
||||
|
||||
// ans 是答案
|
||||
// one 代表第一个答案
|
||||
type ans226 struct {
|
||||
one []int
|
||||
}
|
||||
|
||||
func Test_Problem226(t *testing.T) {
|
||||
|
||||
qs := []question226{
|
||||
|
||||
question226{
|
||||
para226{[]int{}},
|
||||
ans226{[]int{}},
|
||||
},
|
||||
|
||||
question226{
|
||||
para226{[]int{1}},
|
||||
ans226{[]int{1}},
|
||||
},
|
||||
|
||||
question226{
|
||||
para226{[]int{4, 2, 7, 1, 3, 6, 9}},
|
||||
ans226{[]int{4, 7, 2, 9, 6, 3, 1}},
|
||||
},
|
||||
}
|
||||
|
||||
fmt.Printf("------------------------Leetcode Problem 226------------------------\n")
|
||||
|
||||
for _, q := range qs {
|
||||
_, p := q.ans226, q.para226
|
||||
fmt.Printf("【input】:%v ", p)
|
||||
root := structures.Ints2TreeNode(p.one)
|
||||
fmt.Printf("【output】:%v \n", structures.Tree2Preorder(invertTree(root)))
|
||||
}
|
||||
fmt.Printf("\n\n\n")
|
||||
}
|
45
leetcode/0226.Invert-Binary-Tree/README.md
Normal file
45
leetcode/0226.Invert-Binary-Tree/README.md
Normal file
@ -0,0 +1,45 @@
|
||||
# [226. Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/)
|
||||
|
||||
## 题目
|
||||
|
||||
Invert a binary tree.
|
||||
|
||||
Example:
|
||||
|
||||
Input:
|
||||
|
||||
```c
|
||||
4
|
||||
/ \
|
||||
2 7
|
||||
/ \ / \
|
||||
1 3 6 9
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```c
|
||||
4
|
||||
/ \
|
||||
7 2
|
||||
/ \ / \
|
||||
9 6 3 1
|
||||
```
|
||||
|
||||
Trivia:
|
||||
|
||||
This problem was inspired by this original tweet by Max Howell:
|
||||
|
||||
>Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so f*** off.
|
||||
|
||||
|
||||
## 题目大意
|
||||
|
||||
"经典"的反转二叉树的问题。
|
||||
|
||||
|
||||
## 解题思路
|
||||
|
||||
还是用递归来解决,先递归调用反转根节点的左孩子,然后递归调用反转根节点的右孩子,然后左右交换根节点的左孩子和右孩子。
|
||||
|
||||
|
Reference in New Issue
Block a user