题解 | #树的子结构#

树的子结构

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#
全部评论

相关推荐

完美的潜伏者许愿简历通过:我上表jd,请求封我做后端大将军的事,北京有消息了:竟然不许!!! 他们一定是看我没有实习,这才故意驳回我的请求!
点赞 评论 收藏
分享
04-08 10:36
已编辑
华南理工大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务