摘要: 二叉树的递归遍历 终于来到了递归!!!递归是进入动态规划的第一步,有部分的递归完全可以写成动态规划!这里可以移步到左程云的视频观看. 递归的步骤: 确定递归函数的参数和返回值: 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数 阅读全文
posted @ 2024-07-15 21:30 flydandelion 阅读(53) 评论(0) 推荐(0)
摘要: 150. 逆波兰表达式求值 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 '+'、'-'、'*' 和 '/' 。 每个操作数(运算对象)都可以是一个整数或者另一个表达式。 两个整数之间的除法总 阅读全文
posted @ 2024-07-15 21:00 flydandelion 阅读(30) 评论(0) 推荐(0)
摘要: 232.用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回 阅读全文
posted @ 2024-07-12 13:35 flydandelion 阅读(30) 评论(0) 推荐(0)
摘要: 151.翻转字符串里的单词 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个 阅读全文
posted @ 2024-07-12 13:01 flydandelion 阅读(28) 评论(0) 推荐(0)
摘要: 344.反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入:s = ["h","e","l","l","o"] 输出:["o","l"," 阅读全文
posted @ 2024-07-10 21:30 flydandelion 阅读(38) 评论(0) 推荐(0)
摘要: 454.四数相加II 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 阅读全文
posted @ 2024-07-10 21:15 flydandelion 阅读(19) 评论(0) 推荐(0)
摘要: 242.有效的字母异位词 给定两个字符串 *s* 和 *t* ,编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 注意:若 *s* 和 *t* 中每个字符出现的次数都相同,则称 *s* 和 *t* 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram 阅读全文
posted @ 2024-07-10 20:30 flydandelion 阅读(20) 评论(0) 推荐(0)
摘要: 24. 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 输入:head = [1,2,3,4] 输出:[2,1,4,3] 这题很简单就不写思路了 public ListNode swapPai 阅读全文
posted @ 2024-07-10 18:55 flydandelion 阅读(10) 评论(0) 推荐(0)
摘要: 前两天发烧了,这几天没更的后续会补齐 链表结构如下 class ListNode { int val; ListNode next; ListNode() { } ListNode(int val) { this.val = val; } ListNode(int val, ListNode nex 阅读全文
posted @ 2024-07-10 15:50 flydandelion 阅读(10) 评论(0) 推荐(0)
摘要: 977.有序数组的平方 这题太简单了,中间的排序我用的选择排序 贴代码了 public int[] sortedSquares(int[] nums) { for (int i = 0; i < nums.length; i++) { nums[i] = nums[i]*nums[i]; } for 阅读全文
posted @ 2024-07-04 23:44 flydandelion 阅读(25) 评论(0) 推荐(0)