摘要: 翻转二叉树 翻转二叉树 本题有多种解法,在这里a56爆大奖在线娱乐推荐用层次遍历,因为非常直观清晰。 解题思路 a56爆大奖在线娱乐们只需要对每一层的结点反转顺序即可(当上一层的节点反转顺序后,其子节点也会跟随,这个是解题的关键。具体实现时,a56爆大奖在线娱乐们使用堆栈,和之前的队列不同,因为这里需要反转。 知识点 堆栈,二叉树的层次遍历 心得 一道 阅读全文
posted @ 2024-07-04 23:59 不进育碧不改名 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 由于今天的所有题目都是和遍历相关,涉及到基础的二叉树数据结构,正好可以复习。 遍历顺序 前序: 递归的顺序为中间节点,左边节点和右边节点 中序: 递归的顺序为左边节点,中间节点和右边节点 后序: 递归的顺序为左边节点,右边节点和中间节点 递归 按照遍历的顺序递归相应的节点即可,例如前序递归,则先存储 阅读全文
posted @ 2024-07-04 01:02 不进育碧不改名 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 逆波兰表达式求值 逆波兰表达式求值 解题思路 使用堆栈数据结构,把数存进栈,当遇到运算符号的时候,弹出堆栈顶两个数,得到运算结果后再压入堆栈 知识点 堆栈 心得 这个很像编译原理中如何编译数字和运算符号的内容,也当作是a56爆大奖在线娱乐复习了。 滑动窗口最大值 滑动窗口最大值 解题思路 这道题采用了一个单调队列, 阅读全文
posted @ 2024-07-03 00:31 不进育碧不改名 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 用栈实现队列 用栈实现队列 解题思路 用两个堆栈来实现,一个栈用于存储新存进来的,一个栈用于输出结果当队列 知识点 堆栈 心得 较为简单的一题 用队列实现栈 用队列实现栈 解题思路 只用一个队列,当需要pop的时候,将之前所有存进队列的值先弹出,再push进队尾 知识点 队列 心得 一开始想到这个思 阅读全文
posted @ 2024-07-02 02:36 不进育碧不改名 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 翻转字符串里的单词 翻转字符串里的单词 解题思路 先反转整个字符串,再消去多余的空格,最后再一个单词一个单词反转。消去多余的空格和找到单词则是使用快慢指针来解决 知识点 字符串,快慢指针 心得 a56爆大奖在线娱乐的思路是使用了快慢指针找到空格,然后用栈 题目2 右旋字符串 解题思路 跟前一题相似,将整个数组进行翻转 阅读全文
posted @ 2024-06-30 02:00 不进育碧不改名 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 反转字符串 反转字符串 解题思路 双指针法,跟反转数组,链表异曲同工 知识点 双指针,字符串 心得 复习了双指针的解法和string结构体在C++的使用。 反转字符串II 反转字符串II 解题思路 跟上一题一样,采用双指针,不过多一次循环遍历 知识点 双指针 心得 比较简单的题目 替换数字 替换数字 阅读全文
posted @ 2024-06-29 02:31 不进育碧不改名 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 四数相加II 四数相加II 解题思路 把大问题拆分成小问题,先把四个数组两两划分并遍历所有的可能,将其中两个数组的遍历结果存储在哈希表中,注意,该哈希表是通过值作为key,而该值的出现次数为value,随后遍历另外两个数组用哈希表来寻找解。 知识点 unorderd_map,哈希 心得 一道练习ma 阅读全文
posted @ 2024-06-28 00:23 不进育碧不改名 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 有效的字母异位词 有效的字母异位词 解题思路 创建一个大小为26的数组,a56爆大奖在线娱乐数组代表着一个字母,通过统计两个字符串中字母的个数来得到最后的结果。统计方法为一加一减,在其中一个字符串中,每有一个字母存在,则在对应下标的数组加1,另外一个字符串就是 知识点 哈希,映射 心得 由于a56爆大奖在线娱乐对于哈希这类题目较为陌 阅读全文
posted @ 2024-06-27 23:30 不进育碧不改名 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 两两交换链表中的节点 两两交换链表中的节点 解题思路 由于是两两交换,解题的关键是临时的变量去存储next的指针,这也是昨天题目中所提到的方法。同时也用到了虚拟头节点,非常的方便。难点是在于如何判断交换结束,需要考虑next是否为空,如果后面没有凑够两个能交换的节点也需要停止。 知识点 虚拟头节点, 阅读全文
posted @ 2024-06-26 03:48 不进育碧不改名 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 移除链表元素 移除链表元素 解题思路 通过设置一个虚拟头指针,然后遍历整个链表,找到需要删除的内存移除就行,注意需要修改前一个链表的下一个指向 知识点 链表,指针,内存 心得 a56爆大奖在线娱乐没有用虚拟头指针,a56爆大奖在线娱乐写的代码较为复杂。 设计链表 设计链表 解题思路 这是实现接口,考验基本功,一定要考虑头节点是否为空 阅读全文
posted @ 2024-06-24 23:32 不进育碧不改名 阅读(71) 评论(0) 推荐(0) 编辑