LeetCode二叉树OJ

news/2025/2/13 3:07:40/

目录

剑指 Offer 55 - I. 二叉树的深度 - 力扣(LeetCode)

965. 单值二叉树 - 力扣(LeetCode)

100. 相同的树 - 力扣(LeetCode)

 101. 对称二叉树 - 力扣(LeetCode)

二叉树遍历_牛客题霸_牛客网 (nowcoder.com)


查找二叉树中的x值

                   

剑指 Offer 55 - I. 二叉树的深度 - 力扣(LeetCode)

链式二叉树_敲代码到头晕的博客-CSDN博客

求二叉树高度那里。

965. 单值二叉树 - 力扣(LeetCode)

bool isUnivalTree(struct TreeNode* root){
if(root==NULL)return true;
if(root->left&&root->val!=root->left->val)
return false;
if(root->right&&root->val!=root->right->val)
return false;return isUnivalTree(root->left)&&isUnivalTree(root->right);
}

 

 

100. 相同的树 - 力扣(LeetCode)

思路:
一:如果p和q都不等于空,那么就返回true,因为有可能是这样的:

 那万一是这种的呢?

 所以我们下面要设置其他条件,递归对比的时候让p的左和q的左对比,p的右和q的右对比,这样就只会出现1这种情况,不会出现2这种情况了。

 二:

如果p和q其中只有一个为空,那么两个二叉树肯定不相同

三:如果p和q的值相同,那么两个二叉树就相同

那这样写:

bool isSameTree(struct TreeNode* p, struct TreeNode* q){
if(p==NULL&&q==NULL)return true;
if(p==NULL||q==NULL)
return false;
if(p->val!=q->val)
return true;return  isSameTree(p->left,q->left)&& isSameTree(p->right,q->right);}

运行看看:

 为什么结果是true呢?

 第一次对比相同直接把值返回了,递归就没办法往下继续对比了,剩下的节点值可能是不相同的

 所以做这种题都得逆向思维,不要返回true,要返回false,这样false的部分就确定了,没确定的true部分让递归去确定。

 101. 对称二叉树 - 力扣(LeetCode)

二叉树遍历_牛客题霸_牛客网 (nowcoder.com)

 把输入的这串字符还原成二叉树的逻辑图,#代表空。

 还原如下:

 

 是怎么还原的呢?首先把这串字符当成一个字符串数组,然后用数组下标来遍历这个字符串。

 OK,接下来我们要写代码来实现一下。

数组下标不是整形,因为我们定义的pi为int* ,所以我们要解引用Pi,让它找到Int i;

pi本身就是int*型的,这里递归应该直接传pi的不应该传*pi,不然pi就成int**型了。


http://www.ppmy.cn/news/1148202.html

相关文章

关于Java中自增操作的陷阱题目

class Test {public static void main(String[] args) {int j 0;for (int i 0; i < 100; i) {j j;}System.out.println(j);} } 输出&#xff1a;0详细地看一下自增操作和赋值操作的组合。特定语句是&#xff1a; j j;这个语句的执行可以分解为以下步骤&#xff1a; 后缀…

flask vue跨域问题

问题&#xff1a; 调试时候跨域访问报&#xff1a; Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response. 解决办法&#xff1a; 安装flask_cros from flask_cors import CORS CORS(app) app.after_request def a…

[开源]基于流程编排的自动化测试工具,插件驱动,测试无限可能

一、开源项目简介 流程编排&#xff0c;插件驱动&#xff0c;测试无限可能 一款基于流程编排的自动化测试工具 二、开源协议 使用Apache-2.0开源协议 三、界面展示 四、功能概述 在软件开发旅程中&#xff0c;测试流程的管理和执行常常是复杂且耗时的挑战。传统测试工具主…

LLM - 旋转位置编码 RoPE 代码详解

目录 一.引言 二.RoPE 理论 1.RoPE 矩阵形式 2.RoPE 图例形式 3.RoPE 实践分析 三.RoPE 代码分析 1.源码获取 2.源码分析 3.rotary_emb 3.1 __init__ 3.2 forward 4.apply_rotary_pos_emb 4.1 rotate_half 4.2 apply_rotary_pos_emb 四.RoPE 代码实现 1.Q/K/V …

Flink学习笔记(二):Flink内存模型

文章目录 1、配置总内存2、JobManager 内存模型3、TaskManager 内存模型4、WebUI 展示内存5、Flink On YARN 模式下内存分配6、Flink On Yarn 集群消耗资源估算6.1、资源分配6.2、Flink 提交 Yarn 集群的相关命令6.3、Flink On Yarn 集群的资源计算公式 1、配置总内存 Flink J…

Gin框架中的Cookie怎么搞(会话控制)

参考地址 设置和获取 Cookie | Gin Web Framework (gin-gonic.com)https://gin-gonic.com/zh-cn/docs/examples/cookie/ 什么是cookie cookie在互联网上随处可见,具体体现如下: 保持登录状态 保存浏览器的历史记录 大数据随心配,按喜好推送讯息 购物网站加入购物车 都会…

LeetCode75——Day2

文章目录 一、题目二、题解 一、题目 1071. Greatest Common Divisor of Strings For two strings s and t, we say “t divides s” if and only if s t … t (i.e., t is concatenated with itself one or more times). Given two strings str1 and str2, return the l…

手机常见问题总结

手机常见问题总结 1. 手机浏览器中&#xff0c;点击页面不跳转2. 待续 1. 手机浏览器中&#xff0c;点击页面不跳转 清理浏览器缓存 检查网络 2. 待续 ————————————————————— 以上就是今日博客的全部内容了 创作不易,若对您有帮助,可否点赞、关注一二呢…