leetcode 156: Binary Tree Upside Down
2015-01-03 15:03
246 查看
Binary Tree Upside Down
Total Accepted: 813Total Submissions: 2515
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
confused what
"{1,#,2,3}"means?
> read more on how binary tree is serialized on OJ.
[分析]
搞清此树的定义,答案自明.
[注意]
None
[code]/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public TreeNode UpsideDownBinaryTree(TreeNode root) { Stack<TreeNode> stack = new Stack<TreeNode>(); if(root==null) return null; while(root.left != null) {stack.push(root); root=root.left;} stack.push(root); while(!stack.empty()) { TreeNode node = stack.pop(); if(!stack.empty()) { node.right = stack.peek(); node.left = stack.peek().right; } else { node.left = null; node.right = null; } } return root; } }
相关文章推荐
- [leetcode 156]Binary Tree Upside Down
- [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 Binary Tree Upside Down
- 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
- 156. Binary Tree Upside Down
- leetcode--Binary Tree Upside Down