二叉樹資料結構如下
//definition of binary tree node
struct treenode
};
本題需要注意一點是子節點的匹配結果是受到父節點匹配結果影響的。分為兩種情況:父節點匹配成功、父節點匹配失敗
父節點匹配成功的情況
tree空
tree不空
list空
true
true
list不空
false
繼續匹配
父節點匹配失敗的情況
tree空
tree不空
list空
false
false
list不空
false
繼續匹配
所以只用乙個遞迴函式是無法實現的。首先是單個節點的匹配,乙個深度優先遍歷
bool
dfs(listnode* head, treenode* root)
是否匹配成功需要結合單個節點的匹配和後續子樹的匹配情況
bool
issubpath
(listnode* head, treenode* root)
1367 二叉樹中的列表
題目描述 給你一棵以 root 為根的二叉樹和乙個 head 為第乙個節點的鍊錶。如果在二叉樹中,存在一條一直向下的路徑,且每個點的數值恰好一一對應以 head 為首的鍊錶中每個節點的值,那麼請你返回 true 否則返回 false 一直向下的路徑的意思是 從樹中某個節點開始,一直連續向下的路徑。示...
LeetCode 1367 二叉樹中的列表
給你一棵以 root 為根的二叉樹和乙個 head 為第乙個節點的鍊錶。如果在二叉樹中,存在一條一直向下的路徑,且每個點的數值恰好一一對應以 head 為首的鍊錶中每個節點的值,那麼請你返回 true 否則返回 false 一直向下的路徑的意思是 從樹中某個節點開始,一直連續向下的路徑。示例 1 注...
leetcode1367 二叉樹中的列表
給你一棵以 root 為根的二叉樹和乙個 head 為第乙個節點的鍊錶。如果在二叉樹中,存在一條一直向下的路徑,且每個點的數值恰好一一對應以 head 為首的鍊錶中每個節點的值,那麼請你返回 true 否則返回 false 一直向下的路徑的意思是 從樹中某個節點開始,一直連續向下的路徑。示例 1 輸...