阜城网站建设,品牌vi设计ppt,免费企业电话名录,舟山高端网站建设题目描述
给你一棵二叉树的根节点 root #xff0c;翻转这棵二叉树#xff0c;并返回其根节点。
示例 1#xff1a; 输入#xff1a;root [4,2,7,1,3,6,9]
输出#xff1a;[4,7,2,9,6,3,1] 示例 2#xff1a; 输入#xff1a;root [2,1,3]
输出#xff1a;[2,3,1]示…题目描述
给你一棵二叉树的根节点 root 翻转这棵二叉树并返回其根节点。
示例 1 输入root [4,2,7,1,3,6,9]
输出[4,7,2,9,6,3,1] 示例 2 输入root [2,1,3]
输出[2,3,1]示例 3 输入root []
输出[]提示
树中节点数目范围在 [0, 100] 内-100 Node.val 100
解题思路
递归 从根节点开始递归地对树进行遍历并从叶子节点先开始翻转如果当前遍历到的节点的左右两棵子树都已经翻转只需要交换两棵子树的位置即可
题解
/*** 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(rootnull){return null;}TreeNode leftinvertTree(root.left);TreeNode rightinvertTree(root.right);root.leftright;root.rightleft;return root;}
}