刷题日记0726

今日目标5道

哦莫又是晚上开始做。时间过得好快呀。

4/5

  1. 两数相加II 中等

s1.top();从stack 获取栈顶元素

s1.push();stack 顶部加入元素

s1.pop();stack 顶部弹出元素

时间复杂度都为 O(1)

看题解写了一遍

闻到了淡淡的蛋卷的味道。?

  1. 二叉树的最大深度 简单

* struct TreeNode {

* int val;

* TreeNode *left;

* TreeNode *right;

* TreeNode() : val(0), left(nullptr), right(nullptr) {}

* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}

* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}

* };

树结点的结构

val 结点存放的值

left 左子节点

right 右子节点

三个结点构造器

可恶的蚊子!

不会写,看题解。

妙哇。

时间复杂度:O(n),其中 n 为二叉树节点的个数。每个节点在递归中只被遍历一次。

空间复杂度:O(height)递归函数需要栈空间,而栈空间取决于递归的深度,因此空间复杂度等价于二叉树的高度

学习了学习了。就这个代码爽!

  1. 二叉树的最小深度

看题解。

接上一题的思路,继续递归。递归好,人菜。

INT_MAX:是 C/C++ 标准库中定义的一个宏常量,表示当前平台上 int 类型能表示的最大正值。它定义在 <limits.h>(C语言)或 <climits>(C++)头文件中。

不是蛋卷的味道,是万年青饼干的味道,好香。

时间复杂度可以,空间复杂度可以。

  1. 二叉树的中序遍历 简单

感觉不像刷题,像是回到数据结构的课堂。

看题解。

preorder 前序,inorder 中序,postorder 后序

就这个递归爽

空间复杂度:O(n)。空间复杂度取决于递归的栈深度,而栈深度在二叉树为一条链的情况下会达到 O(n) 的级别。

时空复杂度理解。

休息一下。

睡了。

相关推荐
mmmmath_36 小时前
LeetCode.199.二叉树的右视图
数据结构·leetcode
Nil20811 小时前
leetcode 198打家劫舍
算法·leetcode·职场和发展
mmmmath_312 小时前
LeetCode.429.N叉树的层序遍历
数据结构·leetcode
INGNIGHT17 小时前
593 · 石头游戏 II (区间dp石子合并 翻倍循环问题)
leetcode
aqiu11111118 小时前
【C++算法打怪专栏】LeetCode 402. 移掉 K 位数字(单调栈 + 贪心)
c++·算法·leetcode
第六种自由18 小时前
[路飞]_Leetcode 22. 括号生成
javascript·算法·leetcode
longlongzihan19 小时前
LeetCode 24.两两交换链表中的节点:虚拟头结点与指针
算法·leetcode·链表
Xin77019 小时前
LeetCode 105. 从前序与中序遍历序列构造二叉树(递归分治法)
leetcode
longlongzihan19 小时前
从LeetCode 19. 删除链表的倒数第 N 个结点深入理解“哨兵节点”
c++·算法·leetcode·链表
java_nnnn20 小时前
LeetCode刷题滑动窗口(长度最小的子数组)
算法·leetcode·职场和发展