【剑指offer】面试题27:二叉树的镜像(Java)
請完成一個函數,輸入一個二叉樹,該函數輸出它的鏡像。
例如輸入:
?????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
代碼:
/**
?*?Definition?for?a?binary?tree?node.
?*?public?class?TreeNode?{
?*?????int?val;
?*?????TreeNode?left;
?*?????TreeNode?right;
?*?????TreeNode(int?x)?{?val?=?x;?}
?*?}
?*/
class?Solution?{
????public?TreeNode?mirrorTree(TreeNode?root)?{
????????if(root==null)
????????{
????????????return?root;
????????}
????????if(root.left==null&&root.right==null)
????????{
????????????return?root;
????????}
????????
????????find(root);
????????return?root;
????}
????public?void?find(TreeNode?p)
????{
????????if(p==null)
????????{
????????????return;
????????}
????????if(p.left==null&&p.right==null)
????????{
????????????return;
????????}
????????TreeNode?t?=?p.left;
????????p.left?=?p.right;
????????p.right?=?t;
????????find(p.left);
????????find(p.right);
????}
}
總結
以上是生活随笔為你收集整理的【剑指offer】面试题27:二叉树的镜像(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode--329. 矩阵中的最
- 下一篇: 7-2 银行排队问题之单窗口“夹塞”版