diff --git a/invert-binary-tree/bus710.go b/invert-binary-tree/bus710.go new file mode 100644 index 000000000..e5f5c759c --- /dev/null +++ b/invert-binary-tree/bus710.go @@ -0,0 +1,31 @@ +package hello + +type TreeNode struct { + Val int + Left *TreeNode + Right *TreeNode +} + +func invertTree(root *TreeNode) *TreeNode { + if root == nil { + return root + } + + visit(root) + + return root +} + +func visit(node *TreeNode) { + if node.Left != nil { + visit(node.Left) + } + if node.Right != nil { + visit(node.Right) + } + + // Swap + tmp := node.Left + node.Left = node.Right + node.Right = tmp +}