题解 | #树的子结构#

树的子结构

https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88

/*
struct TreeNode {
	int val;
	struct TreeNode *left;
	struct TreeNode *right;
	TreeNode(int x) :
			val(x), left(NULL), right(NULL) {
	}
};*/
class Solution {
public:
		bool recursion(TreeNode* root1,TreeNode* root2)
		{
			if(root1==nullptr&&root2!=nullptr)
			{
				return false;
			}
			if(root1==nullptr||root2==nullptr)
			{
				return true;
			}

			if(root1->val!=root2->val)
				return false;
			
			return recursion(root1->left,root2->left)&&recursion(root1->right,root2->right);
		}
	bool HasSubtree(TreeNode* pRoot1,TreeNode* pRoot2)
	{
		if(pRoot2==nullptr)
			return false;
		if(pRoot1==nullptr&&pRoot2!=nullptr)
			return false;
		if(pRoot1==nullptr||pRoot2==nullptr)
			return true;
		bool flag1=recursion(pRoot1,pRoot2);
		bool flag2=HasSubtree(pRoot1->left,pRoot2);
		bool flag3=HasSubtree(pRoot1->right,pRoot2);
		return flag1||flag2||flag3;
	}
};

学二叉树学的太烂了 大家有好的学习方法或者视频推荐吗

#剑指OFFER#
全部评论

相关推荐

10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务