
leetcode
片云天共远
这个作者很懒,什么都没留下…
展开
-
栈与队列(Java)
栈与队列要点原创 2022-08-16 11:25:03 · 1110 阅读 · 0 评论 -
两个数组的交集 II
给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑区较小值)。配合int[] result,当HashMap中value变化时,记录当前值作为交集元素。示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]1.最终返回的数组长度一定 ...原创 2022-08-10 11:29:48 · 157 阅读 · 0 评论 -
反转字符串II
(leetcode.541)给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。大循环:2*k循环操作:反转前k尤其要注意,题目有些部分没有描述清楚,当字符串剩余部分不足k时,需要反转整个剩余子串。知识点将字符数组转化为字符串的方法:将字符串转化为字符数组的方法:把字符串转化为字节数组的方法:...原创 2022-07-06 10:47:17 · 170 阅读 · 0 评论 -
两两交换链表中的节点(Java)
(leetcode 24)题目要求给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。思路每次判断后,temp节点后移两位。代码 public ListNode swapPairs(ListNode head) { ListNode newHead = new ListNode(-1); newHead.next = head; ListNode原创 2022-04-06 10:11:30 · 977 阅读 · 1 评论 -
算法—求x的平方根,只保留整数部分(Java)
需求给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。(leetcode.69)我的思路基于二分法。判断当前索引和下一个索引的平方值与target的大小。如,若target = 10,3 * 3 < 10而4 * 4 > 10,则输出3。注意:int类型的平方可能越界,需要采用longpubl原创 2022-03-05 17:25:46 · 1268 阅读 · 0 评论 -
链表相交(Java)
(leetcode 2490)题目要求给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。方法一用集合HashSet存放headA节点,先存入,再利用contains()方法判断是否包含。时间复杂度O(n+m)代码public ListNode getIntersectionNode(ListNode headA, ListNode headB) { ListNode temp原创 2022-04-06 15:32:55 · 963 阅读 · 0 评论