【Java】 剑指offer(27) 二叉树的镜像
生活随笔
收集整理的這篇文章主要介紹了
【Java】 剑指offer(27) 二叉树的镜像
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文參考自《劍指offer》一書,代碼采用Java語言。
更多:《劍指Offer》Java實現合集??
題目
請完成一個函數,輸入一個二叉樹,該函數輸出它的鏡像。
思路
畫圖可以很清晰地得到思路:先前序遍歷,對每個結點交換左右子結點。
測試算例
1.功能測試(普通二叉樹;左斜樹;右斜樹;一個結點)
2.特殊測試(根結點為null;)
Java代碼
//題目:請完成一個函數,輸入一個二叉樹,該函數輸出它的鏡像。public class MirrorOfBinaryTree {public class TreeNode {int val = 0;TreeNode left = null;TreeNode right = null;public TreeNode(int val) {this.val = val;}}public void Mirror(TreeNode root) {if(root==null)return;//左右子結點交換TreeNode tempNode = root.left;root.left=root.right;root.right=tempNode; Mirror(root.left);Mirror(root.right);} }
收獲
畫圖使抽象問題形象化,面試時要在編程前先用畫圖、舉例子等來解釋思路。
更多:《劍指Offer》Java實現合集??
轉載于:https://www.cnblogs.com/yongh/p/9798818.html
總結
以上是生活随笔為你收集整理的【Java】 剑指offer(27) 二叉树的镜像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OHEM
- 下一篇: java美元兑换,(Java实现) 美元