AcWing打卡活動
《劍指Offer》打卡活動
週三第四題 二叉樹的鏡像
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
* 思路
* 規律
* 根的左右節點進行交換,不斷遞歸即可
* 例子:
* 看樣例
* a.如8爲根,6和10分別爲左右子節點,則交換後,10和6爲左右子節點
* b.10爲根節點,則9和11爲左右子節點,則交換後,11和8爲左右子節點
* c.重複以上步驟
*/
class Solution {
public void mirror(TreeNode root) {
if(root == null) {
return;
}
if(root.left == null && root.right == null) {
return;
}
// 交換
TreeNode temp = root.right;
root.right = root.left;
root.left = temp;
// 以right爲根節點繼續交換子節點
mirror(root.right);
// 以left爲根節點繼續交換子節點
mirror(root.left);
}
}
AcWing打卡活動
《劍指Offer》打卡活動
週三第四題 二叉樹的鏡像