//返回前序鍊錶
public static listpreorder(node root)
//跟+左子樹+右子樹;
listlist=new linkedlist<>();
listleftpreorder=preorder(root.left);
listrightpreorder=preorder(root.right);
list.add(root.value);
list.addall(leftpreorder);
list.addall(rightpreorder);
return list;
}//遍歷思想:設定乙個變數跟隨著呼叫去++
//彙總思想:總的=跟結點+左子樹+右子樹
//遍歷思想,求總結點個數
public static void calccount1(node root)
//結點不為空,就++一次
count++;
calccount1(root.left);
calccount1(root.right);
}//彙總思想,求總結點個數
//判斷根節點,去找它的左子樹總結點個數,去找它的右子樹總結結點個數
static int count=0;
public static int calccount2(node root)
int left=calccount2(root.left);
int right=calccount2(root.right);
int count=1+left+right;
return count;
}
二叉樹遍歷思想 一 前序遍歷
二叉樹遞迴定義 1 空節點 null 為二叉樹 2 二叉樹的左子樹為二叉樹,二叉樹的右子樹為二叉樹。二叉樹的前序遍歷遞迴定義 1 當前節點為空 null 直接返回 2 對於非空節點 i 操作當前節點 ii 前序遍歷左子樹 iii 前序遍歷右子樹 二叉樹的非遞迴遍歷方法 使用棧來進行遍歷。策略簡述 利...
前序遍歷二叉樹
題目 給定乙個二叉樹,返回它的 前序 遍歷。示例 輸入 1,null,2,3 輸出 1,2,3 方法一 遞迴 這是最容易想到且最容易實現的演算法。definition for a binary tree node.struct treenode treenode int x val x left n...
二叉樹的前序遍歷
二叉樹的前序遍歷 public class tree 建立二叉樹,返回根結點 param return public static tree createtree int else else else else return root 前序遍歷 param tree public static vo...