刷題筆記《劍指offer》 第十七題 樹的子結構

2021-09-26 20:22:47 字數 587 閱讀 7814

題目描述:

輸入兩棵二叉樹a,b,判斷b是不是a的子結構。(ps:我們約定空樹不是任意乙個樹的子結構)

思路:

1. 如何遍歷一棵樹? 前序遍歷

2. 在根節點相同的情況下,如何判斷兩棵樹是否相同?

a. 當前節點相同

b. 左子樹相同

c. 右子樹相同

d. 遞迴

3. 在根節點相同的情況下,如何判斷tree2是tree1的一部分?

按照2中的方法,在tree2遍歷完畢的時候所有的節點都和tree1相同

**
public class hassubtree 

return result;

}public static boolean dosetree1hastree2(treenode root1, treenode root2)

static boolean equal(double num1, double num2)

public static void main(string args)

}

根據費曼學習法: 學習到的東西只有輸出了才能鞏固得更好。

100題 第十七題(google筆試)

一,題目 在乙個字串中找到 第乙個 只出現一次 的字元。如輸入abaccdeff,則輸出b。二,思路解析 字母a 出現兩次 字母b 符合要求 字母c 出現兩次 字母d 出現一次,但不是第乙個 字母e 出現一次,但不是第乙個 字母f 出現兩次 所以字母b符合要求。三,如何才能找到符合要求的字母 首先掃...

100題 第十七題(google筆試)

一,題目 在乙個字串中找到 第乙個 只出現一次 的字元。如輸入abaccdeff,則輸出b。二,思路解析 字母a 出現兩次 字母b 符合要求 字母c 出現兩次 字母d 出現一次,但不是第乙個 字母e 出現一次,但不是第乙個 字母f 出現兩次 所以字母b符合要求。三,如何才能找到符合要求的字母 首先掃...

《劍指offer》第十七題(列印1到最大的n位數)

面試題17 列印1到最大的n位數 題目 輸入數字n,按順序列印出從1最大的n位十進位制數。比如輸入3,則 列印出1 2 3一直到最大的3位數即999。include include using namespace std void printnumber char number bool incre...