zoukankan      html  css  js  c++  java
  • 【leetcode 简单】第二十一题 相同的树

    给定两个二叉树,编写一个函数来检验它们是否相同。

    如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

    示例 1:

    输入:       1         1
              /        / 
             2   3     2   3
    
            [1,2,3],   [1,2,3]
    
    输出: true

    示例 2:

    输入:      1          1
              /           
             2             2
    
            [1,2],     [1,null,2]
    
    输出: false
    

    示例 3:

    输入:       1         1
              /        / 
             2   1     1   2
    
            [1,2,1],   [1,1,2]
    
    输出: false
    

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     struct TreeNode *left;
     *     struct TreeNode *right;
     * };
     */
    bool isSameTree(struct TreeNode* p, struct TreeNode* q) {
        
        if (p == NULL && q == NULL) //根都为空
        {
            return 1;
        }
        if ((p == NULL && q !=NULL) || (p != NULL && q == NULL)) //一个为空一个不为空
        {
            return 0;
        }
        if(p->val != q->val) //根不同
        {
            return 0;
        }
        if (p->left == NULL && q->left == NULL) //左边为空,对比右边
        {
            return isSameTree(p->right,q->right);
        }
        if ((p->left!=NULL && q->left !=NULL) && (p->left->val == q->left->val)) //左边不同时为空,左边的val相同,判断左侧和右侧是否相等
        {
            return isSameTree(q->left,p->left) && isSameTree(q->right,p->right);
        }
        return 0;
    }
  • 相关阅读:
    shell进行mysql统计
    java I/O总结
    Hbase源码分析:Hbase UI中Requests Per Second的具体含义
    ASP.NET Session State Overview
    What is an ISAPI Extension?
    innerxml and outerxml
    postman
    FileZilla文件下载的目录
    how to use webpart container in kentico
    Consider using EXISTS instead of IN
  • 原文地址:https://www.cnblogs.com/flashBoxer/p/9484502.html
Copyright © 2011-2022 走看看