public class solution
}public boolean issametree(treenode p, treenode q)
if((p == null && q != null) || (p != null && q == null))
//兩棵非空樹
if(p.val != q.val)
return (issametree(p.left,q.left) && issametree(p.right,q.right));
}public boolean issubtree(treenode s, treenode t)
//一棵空樹 一棵非空 false
if(s == null || t == null)
//兩棵非空樹
boolean ret = false;
if (s.val == t.val)
// b) 遞迴的判定一下, t 是否被 s 的左子樹包含
if (!ret)
// c) 遞迴的判定一下, t 是否被 s 的右子樹包含
if (!ret)
return ret;
}}
二叉樹 面試題2
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。前序遍歷 dlr 中序遍歷 ldr 重建過程用遞迴演算法比較簡單 public static treenode reconstruc...
二叉樹面試題
1.求二叉樹節點個數 可以使用遞迴解決。將問題分解為求根節點 左子樹的節點數 右節點的節點數。實現 public size t size private size t size node root 2.求頁節點個數 頁節點 左右子樹都為空的節點被稱為頁節點,使用遞迴遍歷,當碰到乙個左右子樹為空的節點...
面試題 二叉樹
面試題 二叉樹 1.重建二叉樹 前序 中序 treenode reconstructbinarytree vector pre,vector vin treenode root new treenode pre 0 int pos 0 for pos pre left,vin left,pre ri...