如何直觀的列印一棵二叉樹

2021-09-14 00:11:51 字數 861 閱讀 9472

這個函式可以將你的二叉樹非常直觀以一棵樹的樣子列印出來,不過列印出來的結果需要將頭旋轉逆時針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個節點,然後,也對這棵樹進行編號,如果所有的編號都和滿二叉樹對應,那麼這棵樹是完全...