首页 > 其他 > 详细

面试题 04.10. 检查子树

时间:2020-05-10 00:16:30      阅读:61      评论:0      收藏:0      [点我收藏+]

题目:

技术分享图片

 

 

解答:

通过中序遍历进行比较。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool checkSubTree(TreeNode* t1, TreeNode* t2) 
    {
        string s1="",s2="";
        inorder(t1,s1);//对t1进行中序遍历并记录节点值
        inorder(t2,s2);//对t2进行中序遍历并记录节点值

        if(s1.find(s2)==-1) return false;

        return true;
    }

    void inorder(TreeNode* t,string& s)
    {
        if(t==NULL) return;
        inorder(t->left,s);
        s+=to_string(t->val);
        inorder(t->right,s);
    }
};

 

面试题 04.10. 检查子树

原文:https://www.cnblogs.com/ocpc/p/12861142.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!