摘要: leetcode:102. 二叉树的层序遍历 - 力扣(LeetCode) 思路:用队列长度控制弹栈的多少,不等于空时获取root,因为传了一个根肯定是1,接下来找左右节点,将根节点弹出,获取下一次的size,一直到空。。。 // 102.二叉树的层序遍历 class Solution { publ 阅读全文
posted @ 2024-03-08 22:09 22软工冷薄 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 二叉树的定义: public class TreeNode{ int val; TreeNode Left; TreeNode Right; TreeNode(){} TreeNode( int val){ this.val = val; } public TreeNode(int val, Tre 阅读全文
posted @ 2024-03-05 18:24 22软工冷薄 阅读(1) 评论(0) 推荐(0) 编辑
摘要: leetcode:239. 滑动窗口最大值 - 力扣(LeetCode) 思路:看了挺长时间才反应过来与暴力算法的区别。当遇到比上一个元素大的值时,将上一个元素剔除,小于时加入队列中,每次等于窗口长度时将顶端也就是最大值存起来 class Solution { public int[] maxSli 阅读全文
posted @ 2024-03-04 15:26 22软工冷薄 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Leetcode:20. 有效的括号 - 力扣(LeetCode) 思路:就是用栈存左右括号,都为0就说明true,不为零说明有没有匹配成功的括号,是false,思路没有问题,时间超时了,还得用C++..., java更好的思路如下:如果是左括号,push右括号,如果是右括号,判断是否与栈顶元素匹配 阅读全文
posted @ 2024-03-03 12:12 22软工冷薄 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 队列的方法: 添加元素: add(E e): 将指定的元素添加到队列的尾部,如果队列已满则抛出异常。 offer(E e): 将指定的元素添加到队列的尾部,如果队列已满则返回false。 移除元素: remove(): 移除并返回队列的头部元素,如果队列为空则抛出异常。 poll(): 移除并返回队 阅读全文
posted @ 2024-03-02 14:32 22软工冷薄 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 烤馍片算法(kmp):为了不让遍历的指针回退,每次不相等的时候找不相等之前的字符串的最长相等前后缀。i表示目标字符串,j表示需要在目标找到的字符串的指针。最长相等前后缀的长度就是之前有多少个与needle字符串相同,直接将j跳到上一元素位置记录的最长相等前后缀长度(next数组),这样i就可以一直+ 阅读全文
posted @ 2024-03-01 22:10 22软工冷薄 阅读(2) 评论(0) 推荐(0) 编辑
摘要: LeetCode:344. 反转字符串 - 力扣(LeetCode) 思路: 双指针的想法用while循环遍历两侧指针,效率高 class Solution { public void reverseString(char[] s) { int i = 0,j = s.length - 1; whi 阅读全文
posted @ 2024-02-29 21:16 22软工冷薄 阅读(1) 评论(0) 推荐(0) 编辑
摘要: LeetCode:454. 四数相加 II - 力扣(LeetCode) //getOrDefault是Java编程语言中的一种方法,用于从Map中检索与指定键关联的值。如果Map中不存在该键,则该方法返回一个默认值。方法签名如下: 思路:这道题和之前的两数相加很像,大体思路就是用map集合存对应的 阅读全文
posted @ 2024-02-29 14:58 22软工冷薄 阅读(1) 评论(0) 推荐(0) 编辑
摘要: LeetCode:242. 有效的字母异位词 - 力扣(LeetCode) 思路:既然只判断两个字符串的字母,就一个++,一个- -,最后如果二十六个字母都是零,说明两个字符串相等。 反思: //charat(i)是返回字符串索引,所以s.charAt(i)-'a'实际上是获取字符串s中第i个字符相 阅读全文
posted @ 2024-02-27 15:58 22软工冷薄 阅读(1) 评论(0) 推荐(0) 编辑
摘要: LeetCode:24. 两两交换链表中的节点 - 力扣(LeetCode) 思路:第一步:两两交换要考虑循环什么时候退出,当cur指针.next是null是就到尾部了,同理,链表不是奇数就是偶数,cur.next.next是空也是。 第二步 循环条件判断完了接下来要实现交换,如图所示,按步骤来就好 阅读全文
posted @ 2024-02-26 21:19 22软工冷薄 阅读(1) 评论(0) 推荐(0) 编辑