劍指Offer java實現 樹的子結構

2021-09-24 18:36:27 字數 536 閱讀 6375

題目:

輸入兩顆二叉樹a,b,判斷b是不是a的子結構。

思路:(1)在樹a中找到和數b的根節點相同的節點;

可以利用前序遍歷a樹中的節點,找到和b樹的根節點相同的節點。

(2)在樹a中找到和樹b根節點相同的節點設為r;

再對比節點r在樹b中的左孩子和右孩子是否和樹b中的節點相同。

如果r節點的值和樹b中的節點的值不同,則不是子結構,如果相同,遞迴去判斷他們的各自的左孩子和右孩子是否相同。

遞迴的出口是到達樹a或者樹b的葉節點。

**:

/**

public class treenode }*/

public class solution

return result;

}private boolean issubtree(treenode root1,treenode root2)

}

此題在牛客網測試時,預設樹a和樹b都不為空子結構才有意義,面試時若遇到可以問面試官,若樹b為空時,不管a為空還是不為空是否可以為子結構。

劍指Offer Java實現 3

12.數值的整數次方 題目描述 給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。思路1 n的a次冪,3種情況 a 0,正常算 a 0,永遠都是1 a 0,正常算的倒數 public class solution if exponent 0...

劍指offer Java 替換空格

注意點 public class solution int indexold str.length 1 indexold為為替換前的str下標 int newlength str.length spacenum 2 計算空格轉換成 20之後的str長度 int indexnew newlength ...

18 樹的子結構《劍指Offer》 Java版

github 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 public class 018 hassubtree 對每個節點都要進行上述過程。return hassub...