Skip to content

Commit

Permalink
添加 0617.合并二叉树 go版本
Browse files Browse the repository at this point in the history
添加 0617.合并二叉树 go版本
X-shuffle authored Jun 13, 2021
1 parent 0e267fd commit 01f87cc
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions problems/0617.合并二叉树.md
Original file line number Diff line number Diff line change
@@ -332,6 +332,43 @@ class Solution:

Go:

```go
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
//前序遍历(递归遍历,跟105 106差不多的思路)
func mergeTrees(t1 *TreeNode, t2 *TreeNode) *TreeNode {
var value int
var nullNode *TreeNode//空node,便于遍历
nullNode=&TreeNode{
Val:0,
Left:nil,
Right:nil}
switch {
case t1==nil&&t2==nil: return nil//终止条件
default : //如果其中一个节点为空,则将该节点置为nullNode,方便下次遍历
if t1==nil{
value=t2.Val
t1=nullNode
}else if t2==nil{
value=t1.Val
t2=nullNode
}else {
value=t1.Val+t2.Val
}
}
root:=&TreeNode{//构造新的二叉树
Val: value,
Left: mergeTrees(t1.Left,t2.Left),
Right: mergeTrees(t1.Right,t2.Right)}
return root
}
```



0 comments on commit 01f87cc

Please sign in to comment.