题解 | #树的子结构#

树的子结构

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

相关推荐

不懂!!!:感觉你的项目描述太简单了,建议使用star描述法优化提炼一下,就是使用什么技术或方案解决了什么问题,有什么效果或成果,例如:对axios进行了二次封装,实现了请求的统一管理、错误的集中处理以及接口调用的简化,显著提高了开发效率和代码维护性,使用canvas技术实现了路线绘制功能,通过定义路径绘制函数和动态更新机制,满足了简化的导航可视化需求,提升了用户体验。像什么是使用其他组件库,基本功能描述就最好不要写到项目成果里面去了,加油
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务