1367。二元樹中的鍊錶
難度:中
主題:鍊錶、樹、深度優先搜尋、廣度優先搜尋、二元樹
給定一個二元樹根和一個以頭為第一個節點的鍊錶。
如果鍊錶中從頭開始的所有元素都對應於二元樹中連接的向下路徑,則傳回True,否則回傳False。
在此上下文中,向下路徑是指從某個節點開始並向下的路徑。
範例1:
範例2:
範例 3:
約束:
提示:
解:
我們需要遞歸地檢查鍊錶是否可以匹配二元樹中的向下路徑。我們將使用深度優先搜尋 (DFS) 來探索二元樹,並嘗試匹配從頭到葉節點的鍊錶。
我們可以採取以下解決方案:
讓我們用 PHP 實作這個解:1367。二元樹中的鍊錶
<?php // Definition for a singly-linked list node. class ListNode { public $val = 0; public $next = null; function __construct($val = 0, $next = null) { $this->val = $val; $this->next = $next; } } // Definition for a binary tree node. class TreeNode { public $val = 0; public $left = null; public $right = null; function __construct($val = 0, $left = null, $right = null) { $this->val = $val; $this->left = $left; $this->right = $right; } } class Solution { /** * @param ListNode $head * @param TreeNode $root * @return Boolean */ function isSubPath($head, $root) { ... ... ... /** * go to ./solution.php */ } // Helper function to match the linked list starting from the current tree node. function dfs($head, $root) { ... ... ... /** * go to ./solution.php */ } } // Example usage: // Linked List: 4 -> 2 -> 8 $head = new ListNode(4); $head->next = new ListNode(2); $head->next->next = new ListNode(8); // Binary Tree: // 1 // / \ // 4 4 // \ \ // 2 2 // / \ / \ // 1 6 8 8 $root = new TreeNode(1); $root->left = new TreeNode(4); $root->right = new TreeNode(4); $root->left->right = new TreeNode(2); $root->right->left = new TreeNode(2); $root->left->right->left = new TreeNode(1); $root->left->right->right = new TreeNode(6); $root->right->left->right = new TreeNode(8); $root->right->left->right = new TreeNode(8); $solution = new Solution(); $result = $solution->isSubPath($head, $root); echo $result ? "true" : "false"; // Output: true ?>
isSubPath($head, $root):
dfs($head, $root):
對於輸入 head = [4,2,8] 和 root = [1,4,4,null,2,2,null,1,null,6,8],演算法將:
此解決方案使用 DFS 有效檢查二元樹中的子路徑。
聯絡連結
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上是二元樹中的鍊錶的詳細內容。更多資訊請關注PHP中文網其他相關文章!