mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
添加 0617.合并二叉树 go版本
添加 0617.合并二叉树 go版本
This commit is contained in:
@ -332,6 +332,43 @@ class Solution:
|
|||||||
|
|
||||||
Go:
|
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
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user