还是用层序遍历内存循环在将左右节点入队后置换左右节点/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val val; * this.left left; * this.right right; * } * } */ class Solution { public TreeNode invertTree(TreeNode root) { if(root null){ return null; } QueueTreeNode q new LinkedList(); q.add(root); while(!q.isEmpty()){ int size q.size(); while(size 0){ TreeNode node q.poll(); if(node.left ! null){ q.add(node.left); } if(node.right ! null){ q.add(node.right); } size--; TreeNode temp node.left; node.left node.right; node.right temp; } } return root; } }
二刷hot100-226.翻转二叉树
还是用层序遍历内存循环在将左右节点入队后置换左右节点/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val val; * this.left left; * this.right right; * } * } */ class Solution { public TreeNode invertTree(TreeNode root) { if(root null){ return null; } QueueTreeNode q new LinkedList(); q.add(root); while(!q.isEmpty()){ int size q.size(); while(size 0){ TreeNode node q.poll(); if(node.left ! null){ q.add(node.left); } if(node.right ! null){ q.add(node.right); } size--; TreeNode temp node.left; node.left node.right; node.right temp; } } return root; } }