LeetCode 226:Invert Binary Tree

Invert a binary tree.

     4
   /   \
  2     7
 / \   / \
1   3 6   9
to
     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 fuck off.

Subscribe to see which companies asked this question

 //definition for a binary tree node.
struct TreeNode {
     int val;
	 TreeNode *left;
	 TreeNode *right;
	 TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 };

 class Solution {
 public:
	 TreeNode* invertTree(TreeNode* root) {
		 if (!root)
			 return root;
		 if (root->left)
			 invertTree(root->left);
		 if (root->right)
			 invertTree(root->right);
			 
		 TreeNode* temp;
		 temp = root->left;
		 root->left = root->right;
		 root->right = temp;
		 return root;
	 }
 };


你可能感兴趣的:(LeetCode 226:Invert Binary Tree)