首页 > 代码库 > Same Tree
Same Tree
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
C++代码如下:
#include<iostream>#include<new>using namespace std;//Definition for binary treestruct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution {public: bool isSameTree(TreeNode *p, TreeNode *q) { if(p==NULL&&q==NULL) return true; if(p==NULL||q==NULL) return false; if(p->val==q->val&&p->left==NULL&&q->left==NULL&&p->right==NULL&&q->right==NULL) return true; return (p->val==q->val)&&isSameTree(p->left,q->left)&&isSameTree(p->right,q->right); } void createTree(TreeNode *&root) { int i; cin>>i; if(i!=0) { root=new TreeNode(i); if(root==NULL) return; createTree(root->left); createTree(root->right); } }};int main(){ Solution s; TreeNode *root1=NULL; TreeNode *root2=NULL; s.createTree(root1); s.createTree(root2); cout<<s.isSameTree(root1,root2)<<endl;}
Same Tree
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。