Question:
Invert a binary tree.
4 / 2 7/\ /1 3 6 9
To
4 / 7 2/\ /9 6 3 1
Trivia:
This problem is inspired by this original tweets by Max Howell:
google:90% of our engineers with the software you wrote (Homebrew), but can ' t invert a binary tree on a Whitebo ard so fuck off.
Analysis:
Problem Description: Give a binary tree, then replace it with the left and right sub-tree.
Idea: This topic should be reflected to recursion first. There are two conditions for recursion: The writing of the return statement and the writing of the recursive statement. In this topic, as long as a node has any left node or right node, they should be replaced. So as long as the non-empty replacement
。
Answer:
/*** Definition for a binary tree node. * public class TreeNode {* int val; * TreeNode left; * TreeNode rig Ht * TreeNode (int x) {val = x;} }*/ Public classSolution { PublicTreeNode inverttree (TreeNode root) {if(Root = =NULL) returnRoot; TreeNode T=Root.left; Root.left=Root.right; Root.right=T; Inverttree (Root.left); Inverttree (Root.right); returnRoot; }}
Leetcode--Invert Binary Tree