1. 程式人生 > >劍指offer十八之二叉樹的鏡像

劍指offer十八之二叉樹的鏡像

img ret code 如果 close http span coder view

一、題目

  操作給定的二叉樹,將其變換為源二叉樹的鏡像。二叉樹的鏡像定義: 源二叉樹 :
    	    8
    	   /      	  6   10
    	 / \  /     	5  7 9  11
  鏡像二叉樹:
    	    8
    	   /      	  10   6
    	 / \  /     	11 9 7   5

二、思路

利用遞歸,直接更換左右子節點

三、代碼

技術分享
public class Solution {
    public TreeNode mirror(TreeNode root) {

        TreeNode temp 
= null; if (root != null) { //判斷頭節點是否為空,如果不為空,更換其左右子節點 temp = root.left; root.left = root.right; root.right = temp; if (root.left != null) { //如果左子節點不為空,更換其左右子節點 mirror(root.left); } if (root.right != null) {//
如果右子節點不為空,更換其左右子節點 mirror(root.right); } } return root; //返回頭節點 } }
View Code

------------------------------------------------------------------------

參考鏈接:https://www.nowcoder.com/questionTerminal/564f4c26aa584921bc75623e48ca3011

劍指offer十八之二叉樹的鏡像