acwing打卡活動
《劍指offer》打卡活動
週三第五題 二叉樹的映象
/**
* definition for a binary tree node.
* public class treenode
* }* * 思路
* 由樣例可以得出,對稱的二叉樹從外向內是對稱的,可利用這個特性
* 即 left.left == right.right && left.right == right.left 構成了兩個遞迴條件,如下
* dfs(left.left, right.right) && dfs(left.right, right.left)
* 停止條件為子節點為空,當節點的左右子節點都為null的時候,才會停止並return true,會遍歷到最底層
* 如果該節點有乙個節點不為null,乙個節點為null,則這棵樹不為對稱的二叉樹
*/class solution
return dfs(root.left, root.right);
}public boolean dfs(treenode left, treenode right)
return left.val == right.val && dfs(left.left, right.right) && dfs(left.right, right.left);
}}
二叉樹 27題 二叉樹的映象
請完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。例如輸入 4 2 7 1 3 6 9 映象輸出 4 7 2 9 6 3 1 示例1 輸入 root 4,2,7,1,3,6,9 輸出 4,7,2,9,6,3,1 限制 0 節點個數 1000根據二叉樹映象的定義,考慮遞迴遍歷 dfs 二叉樹,交換每...
二叉樹經典題系列 二叉樹的映象
二叉樹的映象 將乙個二叉樹的左右子樹,調換位置。即下圖的形式 遞迴的思想是 從根節點的左右子樹進行交換,然後以根節點的左子樹為根節點,而後以根節點的右結點為根節點,進行左右子樹交換。遇到空節點或葉節點直接返回。下面求二叉樹映象的函式 實現 templatevoid mirrotree treenod...
第五十五題 對稱的二叉樹
請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。如果二叉樹對稱,則相應的左右子樹同樣為對稱二叉樹 左子樹的左子樹等於右子樹的右子樹,左子樹的右子樹等於右子樹的 左子樹。使用遞迴思想即可實現。實現步驟 1 如果根節點為空,認為該二叉樹為對稱...