226. Invert Binary Tree
// iterative bfs using queue class Solution { public TreeNode invertTree(TreeNode root) { // base case if(root == null) return null; Queue<TreeNode> queue = new LinkedList<>(); queue.offer(root); while(!queue.isEmpty()){ TreeNode cur = queue.poll(); TreeNode tmp = cur.left; cur.left = cur.right; cur.right = tmp; if(cur.right != null) queue.offer(cur.right); if(cur.left != null) queue.offer(cur.left); } return root; } }
// recursive class Solution { public TreeNode invertTree(TreeNode root) { // base case if(root == null) return null; // TreeNode right = invertTree(root.left); TreeNode left = invertTree(root.right); root.right = right; root.left = left; return root; } }
Invert a binary tree.
Example:
Input:
4 / \ 2 7 / \ / \ 1 3 6 9
Output:
4 / \ 7 2 / \ / \ 9 6 3 1
posted on 2018-07-19 12:04 猪猪🐷 阅读(83) 评论(0) 收藏 举报
浙公网安备 33010602011771号