给定一棵二叉树的根节点 root
,请左右翻转这棵二叉树,并返回其根节点。
示例 1:
输入:root = [5,7,9,8,3,2,4] 输出:[5,9,7,4,2,3,8]
提示:
- 树中节点数目范围在
[0, 100]
内 -100 <= Node.val <= 100
思路:
将二叉树看成一个只有左右子树的最小二叉树,那么翻转这个二叉树就是将左右子树对换;然后再分别将左右子树当成一个完整的二叉树重复上述步骤
package leetcode.editor.cn;
public class ErChaShuDeJingXiangLcof{
public static void main(String[] args) {
Solution solution = new ErChaShuDeJingXiangLcof().new Solution();
}
//leetcode submit region begin(Prohibit modification and deletion)
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode mirrorTree(TreeNode root) {
if(root==null) return root;
TreeNode left = root.left;
TreeNode right = root.right;
root.left =right;
root.right = left;
mirrorTree(root.left);
mirrorTree(root.right);
return root;
}
}
//leetcode submit region end(Prohibit modification and deletion)
}
标签:right,TreeNode,二叉树,翻转,root,public,left
From: https://blog.csdn.net/2402_84062759/article/details/139131190