Invert Binary TreeTotal accepted:22352 Total submissions:62065my submissions QuestionSolution
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.
Hide TagsTreeHas you met this question in a real interview? Yes No
Discuss
This problem can be used in the queue, to carry out breadth-first search, for the binary tree, a row of the traversal, each time the left and right sub-tree to be switched on it can be
1#include <iostream>2#include <queue>3 using namespacestd;4 5 structTreeNode {6 intVal;7TreeNode *Left ;8TreeNode *Right ;9TreeNode (intx): Val (x), left (null), right (null) {}Ten }; One Atreenode* Inverttree (treenode*root) { - if(root==null| | (root->left==null&&root->right==NULL)) - returnRoot; theQueue<treenode*>Qu; - Qu.push (root); - while(!qu.empty ()) - { +treenode* temp=Qu.front (); - Qu.pop (); + if(temp->left!=null| | temp->right!=NULL) A { attreenode* le=temp->Left ; -treenode* ri=temp->Right ; -temp->left=ri; -temp->right=le; - } - if(temp->left!=NULL) inQu.push (temp->Left ); - if(temp->right!=NULL) toQu.push (temp->Right ); + } - returnRoot; the } * intMain () $ {Panax Notoginseng -}
leetcode_226 title--invert Binary Tree (queue, breadth first search)