刷题日记0726
今日目标5道
哦莫又是晚上开始做。时间过得好快呀。
4/5
445. 两数相加II 中等
s1.top();从stack 获取栈顶元素
s1.push();stack 顶部加入元素
s1.pop();stack 顶部弹出元素
时间复杂度都为 O(1)
看题解写了一遍
闻到了淡淡的蛋卷的味道。?
104. 二叉树的最大深度 简单
* 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)递归函数需要栈空间,而栈空间取决于递归的深度,因此空间复杂度等价于二叉树的高度
学习了学习了。就这个代码爽!
111. 二叉树的最小深度
看题解。
接上一题的思路,继续递归。递归好,人菜。
INT_MAX:是 C/C++ 标准库中定义的一个宏常量,表示当前平台上 int
类型能表示的最大正值。它定义在 <limits.h>
(C语言)或 <climits>
(C++)头文件中。
不是蛋卷的味道,是万年青饼干的味道,好香。
时间复杂度可以,空间复杂度可以。
94. 二叉树的中序遍历 简单
感觉不像刷题,像是回到数据结构的课堂。
看题解。
preorder 前序,inorder 中序,postorder 后序
就这个递归爽
空间复杂度:O(n)。空间复杂度取决于递归的栈深度,而栈深度在二叉树为一条链的情况下会达到 O(n) 的级别。
时空复杂度理解。
休息一下。
睡了。