二叉樹 面試題2

2021-09-29 11:27:49 字數 620 閱讀 1392

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...