题解 | #树的子结构#

树的子结构

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

相关推荐

03-25 16:22
南华大学 Java
不敢追175女神:你是打了上千个招呼吧?😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务