這個函式可以將你的二叉樹非常直觀以一棵樹的樣子列印出來,不過列印出來的結果需要將頭旋轉逆時針90度來看
package com.tree;
public class printbinarytree
} public static void printtree(node head)
public static void printinorder(node head, int height, string to, int len)
printinorder(head.right, height + 1, "v", len);
string val = to + head.value + to;
int lenm = val.length();
int lenl = (len - lenm) / 2;
int lenr = len - lenm - lenl;
val = getspace(lenl) + val + getspace(lenr);
system.out.println(getspace(height * len) + val);
printinorder(head.left, height + 1, "^", len);
} public static string getspace(int num)
return buf.tostring();
} public static void main(string args)
}
列印出來的二叉樹是這樣的
翻轉一棵二叉樹
問題描述 翻轉一棵二叉樹 示例 輸入 4 2 7 1 3 6 9輸出 4 7 2 9 6 3 1 解法 1.用遞迴來解決 2.首先判斷根是不是空 遞迴出口 3.如果不是空則交換左右子數 4.對左子樹進行遞迴 5.對右子樹進行遞迴 definition for a binary tree node.c...
判斷一棵二叉樹是不是另一棵二叉樹的子樹
定義 父樹包含子樹的所有節點,注意,空樹不是任何數的子樹。父樹 a 子樹 b 解法 用遞迴來實現,從a樹的根節點開始,判斷其所有的節點是不是依次和樹b相同,如不同,遞迴呼叫函式,繼續判斷樹a當前節點的左子樹的所有節點或右子樹的所有節點是否和樹b所有節點相同,直到遍歷到父樹a的葉子節點,如果不是完全相...
如何判斷一棵二叉樹是完全二叉樹
嚴蔚敏那本教材上的說法 乙個深度為k,節點個數為 2 k 1 的二叉樹為滿二叉樹。這個概念很好理解,就是一棵樹,深度為k,並且沒有空位。首先對滿二叉樹按照廣度優先遍歷 從左到右 的順序進行編號。一顆深度為k二叉樹,有n個節點,然後,也對這棵樹進行編號,如果所有的編號都和滿二叉樹對應,那麼這棵樹是完全...