摘要: 104和111题见前一天 222.完全二叉树的节点个数 题目简述: 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层 阅读全文
posted @ 2023-04-02 21:06 blueCP1999 阅读(22) 评论(0) 推荐(0)
摘要: 102. 二叉树的层序遍历 实现思路 1. 利用队列实现 2. 先把根节点放入队列 3. 弹出根节点并读取根节点的值,存入result列表中 4. 判断根节点是否有左右孩子,按顺序存入队列中 5. 进入下一个循环 代码如下: class Solution: """二叉树层序遍历迭代解法""" def 阅读全文
posted @ 2023-04-02 20:55 blueCP1999 阅读(21) 评论(0) 推荐(0)
摘要: 94. 二叉树的中序遍历 思路: 1. 找出重复的子问题 这个重复的子问题是:先遍历左子树、再取根节点、最后遍历右子树 2. 确定终止条件 当节点为空是,返回 代码如下: # Definition for a binary tree node. # class TreeNode: # def __i 阅读全文
posted @ 2023-04-02 12:54 blueCP1999 阅读(27) 评论(0) 推荐(0)
摘要: 239. 滑动窗口最大值 题目简述: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 思路: 1. 构建两个空列表,一个名为queue,用来存储元素在nums 阅读全文
posted @ 2023-04-02 01:07 blueCP1999 阅读(36) 评论(0) 推荐(0)
摘要: 今天休息 阅读全文
posted @ 2023-04-01 15:13 blueCP1999 阅读(14) 评论(0) 推荐(0)
摘要: 20. 有效的括号 题目简述: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 思路: 1. 利用一个栈实现 2. 构建 阅读全文
posted @ 2023-04-01 15:02 blueCP1999 阅读(18) 评论(0) 推荐(0)
摘要: 题目简述: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。bo 阅读全文
posted @ 2023-04-01 12:49 blueCP1999 阅读(30) 评论(0) 推荐(0)
摘要: 28. 实现strStr() 题目简述: 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 思路: 1. 暴力求解 2. 阅读全文
posted @ 2023-04-01 01:55 blueCP1999 阅读(39) 评论(0) 推荐(0)
摘要: 344.反转字符串 题目简述: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组,使用O(1)的额外空间解决这一问题。 解题思路: 没什么好说的,直接双指针 代码如下: class Solution: def re 阅读全文
posted @ 2023-03-31 14:12 blueCP1999 阅读(18) 评论(0) 推荐(0)
摘要: LeetCode 454.四数相加II 题目/视频/文章链接: 454.四数相加|| 个人第一时间看法: 考虑到之前做过的两数之和,得用哈希表来解决,只不过对于四个数组的操作有点懵,感觉无从下手,只想到四个for循环暴力解决。 看完代码随想录的想法: 鉴于两数之和的操作,可以将四个数组分成两大组来进 阅读全文
posted @ 2023-03-21 21:06 blueCP1999 阅读(14) 评论(0) 推荐(0)