【LeetCode 100_二叉树_遍历】Same Tree 解法一:递归1 bool isSameTree(TreeNode* p, TreeNode* q) 2 { 3 if (p == NULL && q == NULL) 4 return true; 5 if ((p == NULL && q != NULL) || (p != NULL && q == NULL)) ...
* TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */classSolution{public:boolisSameTree(TreeNode* p, TreeNode* q){if(p==NULL&&q==NULL)returntrue;elseif(p==NULL||q==NULL)returnfalse;return(p->val==q->val) &&isSameTree(...
* type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func isSameTree(p *TreeNode, q *TreeNode) bool { // 都是空结点,则当前子树相同,直接返回 true if p == nil && q == nil { return true } // 如果当前结点都值不同,则当前子树不同,直接返回 false if...
复制 classSolution{publicbooleanisSameTree(TreeNode p,TreeNode q){if(p==null)returnq==null;returnq!=null&&p.val==q.val&&isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);}} 3、时间复杂度 时间复杂度 :O(min(m,n)) 其中m和n分别是两个二叉树的节点数,对两个二叉树同事进行搜索...
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; // p和q不同一时候到达叶节点,则剪枝 else if ((p != NULL && q == NULL) || (p == NULL && q...
* TreeNode(int x) { val = x; } * } */ public class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if(p==null&&q==null){ return true; } if(p==null&&q!=null||q==null&&p!=null||p.val!=q.val){
1 100E - 相同的树Same Tree 思路: 如果两棵树都为空,那么返回 True; 如果其中一棵空,另外一棵不空,返回 False; return p is q 直接完成上述比较; 否则,则返回 根节点的值的比较、左子树的比较、右子树的比较; 子树的比较,调用的主函数; 主函数终止的条件是左子树和右子树至少有一个为空;到了最后一层...
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right (right) {} * }; */ class Solution { public: bool isSameTree(TreeNode* p, TreeNode* q) { } }; 已存储 行1,列 1 运行和提交...
{//终止条件if(p==null&&q==null){//同时为空,符合要求returntrue;}elseif(p==null||q==null){//不同时为空,说明有不同的结点returnfalse;}elseif(p.val!=q.val){returnfalse;}//子问题:如果左右子树都是相同的树,那么就是相同的树returnisSameTree(p.left,q.left)&&isSameTree(p.right,q....
class Solution { public: bool isSameTree(TreeNode *p, TreeNode *q) { if(p == NULL && q == NULL) return true; else if(p == NULL || q == NULL) return false; bool isleftTreeSame = isSameTree(p->left, q->left); bool isrightTreeSame = isSameTree(p->right,q->right); re...