另一顆樹的子樹

2021-10-02 09:41:37 字數 729 閱讀 3223

給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。

解題思路:

先從跟結點開始,看兩顆樹的根節點是否相同,然後遞迴遍歷兩棵樹的左右子樹,如果都相同返回true;否則讓樹s左右子樹分別和樹t進行遞迴遍歷,如果s樹遞迴結束發現沒有和樹t相同的樹則返回false。

/**

* definition for a binary tree node.

* struct treenode ;

*/bool _issubtree(struct treenode* s, struct treenode* t)

bool issubtree(struct treenode* s, struct treenode* t)

bool left = issubtree(s->left,t);

bool right = issubtree(s->right,t);

return left || right;

}

LeetCode572 另一顆樹的子樹

先做leetcode100,判斷兩棵樹是否相同,再來做這個思路會快捷很多 這個思路 t是s,t是s的左子樹,t是s的右子樹 返回true 因為題目說了,s,t都非空,s是母樹,t是子樹。少了很多麻煩 直接上 我的注釋應該很清楚 definition for a binary tree node.pu...

判斷一顆二叉樹是是否是另一顆樹的子樹。

什麼樣的情況下,某一棵樹會成為另一棵樹的子數呢?子樹的根節點是某一棵樹的某個節點,接下來的子節點也相同,則該樹是另一棵樹的子集。首先找到與根節點相同的節點,在進行遍歷,可使用遞迴法。template struct treenode template bool check treenode root1...

製作一顆選單樹

從三個表中取得資料,生成一顆選單樹 樹的根是乙個城市名稱,它的子節點是這個城市的各個行政區,行政區的子節點為該行政區中的機構,機構的子節點為改機構中的工作人員。了解了這顆樹的結構後,腦海裡已經浮現出這顆樹的樣式了吧 簡單描述一下表 行政區 district 機構 organization 人員 us...