題目:
輸入兩顆二叉樹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...