leetcode[156]Binary Tree Upside Down
2015-02-10 14:38
323 查看
Given a binary tree where all the right nodes are either leaf nodes with a sibling (a left node that shares the same parent node) or empty, flip it upside down and turn it into a tree where the original right nodes turned into left leaf nodes. Return the new root.
For example:
Given a binary tree {1,2,3,4,5},
1
/ \
2 3
/ \
4 5
return the root of the binary tree [4,5,2,#,#,3,1].
4
/ \
5 2
/ \
3 1
For example:
Given a binary tree {1,2,3,4,5},
1
/ \
2 3
/ \
4 5
return the root of the binary tree [4,5,2,#,#,3,1].
4
/ \
5 2
/ \
3 1
TreeNode *upsideDownBinaryTree(TreeNode *root) { if(root == NULL) return root; stack<TreeNode*> s; //left child list s.push(root); TreeNode* cur = root; while(cur->left) { s.push(cur->left); cur = cur->left; } TreeNode* newroot = s.top(); cur = newroot; s.pop(); while(!s.empty()) { TreeNode* oldfather = s.top(); s.pop(); cur->left = oldfather->right; cur->right = oldfather; oldfather->left=NULL; oldfather->right=NULL; cur = curr->left; } return newroot; }
相关文章推荐
- [LeetCode156] Binary Tree Upside Down
- leetcode[156] binary tree upside down
- leetcode 156: Binary Tree Upside Down
- [LeetCode156] Binary Tree Upside Down
- [LeetCode#156] Binary Tree Upside Down
- [LeetCode 156] Binary Tree Upside Down
- [LeetCode]156 Binary Tree Upside Down
- Leetcode 156 Binary Tree Upside Down
- [leetcode 156]Binary Tree Upside Down
- 【LeetCode】Binary Tree Upside Down
- LeetCode-Binary Tree Upside Down
- [leetcode] Binary Tree Upside Down
- [leetcode]Binary Tree Upside Down
- 156. Binary Tree Upside Down
- leetcode Binary Tree Upside Down
- Leetcode: Binary Tree Upside Down
- leetcode--Binary Tree Upside Down
- 156. Binary Tree Upside Down
- [LeetCode] Binary Tree Upside Down 二叉树的上下颠倒
- LeetCode "Binary Tree Upside Down"