• [LeetCode]100. 相同的树


    题目


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

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

    示例 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;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        bool isSameTree(TreeNode* p, TreeNode* q) {
            //两个结点都不为空
            if(p&&q)
                return (p->val==q->val)&&isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
            //两个结点都为空
            else if(p==nullptr&&q==nullptr)
                return true;
            //一个空一个不为空
            else
                return false;
        }
    };
    
    https://github.com/li-zheng-hao
  • 相关阅读:
    HSF原理
    Spring IOC 容器源码分析
    Spring Bean注册和加载
    CAP和BASE理论
    Java内存模型
    Java线程模型
    IO复用、多进程和多线程三种并发编程模型
    无锁编程本质论
    An Introduction to Lock-Free Programming
    安装与配置ironic
  • 原文地址:https://www.cnblogs.com/lizhenghao126/p/11053674.html
Copyright © 2020-2023  润新知