科威網(wǎng)絡(luò)做網(wǎng)站怎么樣html網(wǎng)頁制作app
文章目錄
- 題目描述
- 解題思路
- 代碼
題目描述
給你一棵二叉樹的根節(jié)點 root ,翻轉(zhuǎn)這棵二叉樹,并返回其根節(jié)點。
示例 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 = []
輸出:[]
提示:
樹中節(jié)點數(shù)目范圍在 [0, 100] 內(nèi)
-100 <= Node.val <= 100
解題思路
使用遞歸的方式比較好解決。
在編寫的方法中首先要找到遞歸出口,這里的遞歸出口就是:root既沒有左孩子又沒有右孩子,因為root沒有孩子節(jié)點的話就不需要翻轉(zhuǎn)了,向上返回就行。
找到遞歸出口之后就按照順序進行遞歸。
代碼
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;}
}