广西一站网网络技术集团有限公司,厦门网站个人制作,大连网站设计制作方案,黄骅港贴吧百度贴吧文章目录 题目描述解题思路代码 题目描述
给你一棵二叉树的根节点 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… 文章目录 题目描述解题思路代码 题目描述
给你一棵二叉树的根节点 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
解题思路
使用递归的方式比较好解决。 在编写的方法中首先要找到递归出口这里的递归出口就是root既没有左孩子又没有右孩子因为root没有孩子节点的话就不需要翻转了向上返回就行。 找到递归出口之后就按照顺序进行递归。
代码
class Solution {//使用递归的方法解决public TreeNode invertTree(TreeNode root) {if (root null) {return null;}invert(root);return root;}public void invert(TreeNode root) {if (root.left null root.right null) {return;}if (root.left ! null) {invert(root.left);}if (root.right ! null) {invert(root.right);}TreeNode node root.left;root.left root.right;root.right node;}
}