leetcode 226. 翻转二叉树
翻转一棵二叉树。
示例:
输入:
4
/ \
2 7
/ \ / \
1 3 6 9
输出:
4
/ \
7 2
/ \ / \
9 6 3 1
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/invert-binary-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路可以是当作书的层级遍历,就是每次遍历的时候,换一下左右节点。
public TreeNode invertTree(TreeNode root) { if (root == null) { return null; } Queue<TreeNode> queue = new ArrayDeque<>(); queue.add(root); while (!queue.isEmpty()) { TreeNode node = queue.poll(); TreeNode left = node.left; TreeNode right = node.right; node.left = right; node.right = left; if (left != null) { queue.add(left); } if (right != null) { queue.add(right); } } return root; }
时间可以,空间拉跨了。。。