标题:226翻转二叉树-简单
题目
翻转一棵二叉树。
示例
4
/ \
2 7
/ \ / \
1 3 6 9
4
/ \
7 2
/ \ / \
9 6 3 1
代码Java
public TreeNode invertTree(TreeNode root) {
if (root == null)
return null;
TreeNode p = root;
Stack<TreeNode> stack = new Stack<TreeNode>();
while (p != null || !stack.empty()) {
if (p != null) {
if (p.left != null || p.right != null) {
TreeNode s = p.left;
p.left = p.right;
p.right = s;
}
stack.push(p);
p = p.left;
} else {
p = stack.pop();
p = p.right;
}
}
return root;
}