zoukankan      html  css  js  c++  java
  • 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

    思路:
      1.当两个结点都为null的时候,表示结点相等
    2.当两个结点都不为null
        1.结点的值相等,表示当前结点相等, 再判断当前结点的子节点是否相等
        2.结点的值不相等,返回false
      3.只有一个结点为null, 两个结点一定不想等,返回false

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     bool isSameTree(TreeNode* p, TreeNode* q) {
    13         if(q == NULL && p == NULL) return true;
    14         if(q != NULL && p!= NULL){
    15             if(q->val != p->val) return false;
    16             else return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
    17         } else return false;
    18     }
    19 };
    有疑惑或者更好的解决方法的朋友,可以联系我,大家一起探讨。qq:1546431565
  • 相关阅读:
    Unlocker(强力删除文件工具) 1.9.2 汉化绿色版
    js 用blob来显示存储资源,并清除其他资源
    js 创建音频声音
    兼容 线性渐变
    @font-face 兼容写法
    中国行政区域划分 爬虫工具
    前端中的spring实现
    css命名规范
    sass 备忘命令
    charles 破解命令
  • 原文地址:https://www.cnblogs.com/mr-stn/p/8944866.html
Copyright © 2011-2022 走看看