剑指Offer第17题:树的子结构
题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
解题思路:遍历A树,找到一个与B树的根结点值相同的结点,开始同时遍历A、B树,判断对应结点上的值是否相同,直至遍历完B树,期间碰到A、B不同的值,则返回false。继续遍历A树,找下一个与B树根结点值相同的结点。
代码:
1 | bool HasSubtreeHelper(TreeNode *pRoot1, TreeNode *pRoot2) { |
题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
解题思路:遍历A树,找到一个与B树的根结点值相同的结点,开始同时遍历A、B树,判断对应结点上的值是否相同,直至遍历完B树,期间碰到A、B不同的值,则返回false。继续遍历A树,找下一个与B树根结点值相同的结点。
代码:
1 | bool HasSubtreeHelper(TreeNode *pRoot1, TreeNode *pRoot2) { |