226. 翻转二叉树
心情不太好,直接看的答案
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root==null){
return root;
}
invertTree(root.left);
invertTree(root.right);
swapTree(root);
return root;
}
public void swapTree(TreeNode root){
TreeNode temp=root.left;
root.left=root.right;
root.right=temp;
}
}
第二种方法:
class Solution {
public TreeNode invertTree(TreeNode root) {
Queue<TreeNode> que=new LinkedList<>();
if(root==null){
return root;
}
que.offer(root);
while(!que.isEmpty()){
int len=que.size();
while(len>0){
TreeNode cur=que.poll();
swapTree(cur);
if(cur.left!=null){
que.offer(cur.left);
}
if(cur.right!=null){
que.offer(cur.right);
}
len--;
}
}
return root;
}
public void swapTree(TreeNode root){
TreeNode temp=root.left;
root.left=root.right;
root.right=temp;
}
}