Leetcode 100.相同的树

1.题目要求,如图所示:
在这里插入图片描述

我们可以用两个数组去解决此题:
1.首先我们要用malloc函数去构造两个数组,还要去构造两个数组的长度,代码块如下图所示:

	int* p_length = (int*)malloc(sizeof(int));
    *p_length = 0;
    int* q_length = (int*)malloc(sizeof(int));
    *q_length = 0;
    int* number_p = (int*)malloc(sizeof(int) * 1000);
    int* number_q = (int*)malloc(sizeof(int) * 1000);

2.我们再使用前序遍历(什么遍历都行)把树中的元素存入数组,代码块如下图所示:

void preorder_traver(struct TreeNode* root,int* number,int* length)
 {
    if(root == NULL)
    {
        number[(*length)++] = 10001;
        //因为存入数组的元素的相同,但路径可能不同,所以我们要存入一个超过范围数来判断它的路径
        return;
    }
    number[(*length)++] = root->val;
    preorder_traver(root->left,number,length);
    preorder_traver(root->right,number,length);
 }

3.再进行判断:

int i = 0;
    if((*p_length) != (*q_length))
        return false;
    for(i = 0;i < (*p_length);i++)
    {
        if(number_p[i] != number_q[i])
        {
            return false;
        }
    }
    return true;

全部代码如下图所示:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
 void preorder_traver(struct TreeNode* root,int* number,int* length)
 {
    if(root == NULL)
    {
        number[(*length)++] = 10001;
        return;
    }
    number[(*length)++] = root->val;
    preorder_traver(root->left,number,length);
    preorder_traver(root->right,number,length);
 }
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {
    int* p_length = (int*)malloc(sizeof(int));
    *p_length = 0;
    int* q_length = (int*)malloc(sizeof(int));
    *q_length = 0;
    int* number_p = (int*)malloc(sizeof(int) * 1000);
    int* number_q = (int*)malloc(sizeof(int) * 1000);
    preorder_traver(p,number_p,p_length);
    preorder_traver(q,number_q,q_length);
    int i = 0;
    if((*p_length) != (*q_length))
        return false;
    for(i = 0;i < (*p_length);i++)
    {
        if(number_p[i] != number_q[i])
        {
            return false;
        }
    }
    return true;
}

大家如果觉得可以的话,可以给个免费的赞吗?谢谢大家了^ _ ^

相关推荐

  1. Leetcode 100相同

    2024-06-13 09:06:03       30 阅读
  2. 100. 相同

    2024-06-13 09:06:03       51 阅读
  3. 100. 相同

    2024-06-13 09:06:03       43 阅读
  4. leetcode-相同

    2024-06-13 09:06:03       65 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-13 09:06:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-13 09:06:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-13 09:06:03       82 阅读
  4. Python语言-面向对象

    2024-06-13 09:06:03       91 阅读

热门阅读

  1. MySQL 保姆级教程(一):了解 SQL

    2024-06-13 09:06:03       34 阅读
  2. HttpSecurity

    2024-06-13 09:06:03       32 阅读
  3. Python3 数据结构

    2024-06-13 09:06:03       26 阅读
  4. 什么是 RESTful API?谈谈你对它的理解。

    2024-06-13 09:06:03       26 阅读
  5. kotlin 协程之初识挂起函数

    2024-06-13 09:06:03       30 阅读
  6. 联想测开一面(电话面试)笔试60%

    2024-06-13 09:06:03       35 阅读
  7. 常用Object的方法

    2024-06-13 09:06:03       22 阅读
  8. (32)ADC接口--->(007)FPGA实现AD7606接口

    2024-06-13 09:06:03       32 阅读
  9. vim 显示行号

    2024-06-13 09:06:03       23 阅读