![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode
LeetCode 题解
superbeyone
士,不可以不弘毅,任重而道远!
展开
-
Leedcode_23_合并K个升序链表
文章目录- 迭代法Leedcode_23_合并K个升序链表- 迭代法class Solution { public ListNode mergeKLists(ListNode[] lists) { ListNode head = new ListNode(); ListNode currNode = head; while(true){ int minIndex =-1; for(int原创 2021-04-25 13:37:06 · 92 阅读 · 0 评论 -
Leetcode_21_合并两个有序链表
Leetcode_21_合并两个有序链表文章目录- 迭代法1- 迭代法2- 递归法- 迭代法1class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1 ==null){ return l2; } if(l2==null){ return l1;原创 2021-04-25 11:06:24 · 95 阅读 · 0 评论 -
快速获取 A 的 N 次幂
快速获取 A 的 N 次幂/** * @author Mr.superbeyone * @project algorithms * @className TheNPowOfA * @description n次幂 * @date 2021-04-24 20:47 **/public class TheNPowOfA { public static void main(String[] args) { int a = 2; int n = 10;原创 2021-04-24 20:59:59 · 122 阅读 · 0 评论 -
通过删除字母匹配到字典里最长单词
通过删除字母匹配到字典里最长单词给定一个字符串和一个字符串字典,找到字典里面最长的字符串,该字符串可以通过删除给定字符串的某些字符来得到。如果答案不止一个,返回长度最长且字典顺序最小的字符串。如果答案不存在,则返回空字符串。示例 1:输入:s = "abpcplea", d = ["ale","apple","monkey","plea"]输出: "apple"示例 2:输入:s = "abpcplea", d = ["a","b","c"]输出: "a"说明:所有输入的原创 2020-09-01 16:58:20 · 157 阅读 · 0 评论 -
判断链表是否存在环
判断链表是否存在环给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。使用双指针,一个指针每次移动一个节点,一个指针每次移动两个节点,如果存在环,那么这两个指针一定会相遇。class ListNode { int val;原创 2020-08-27 14:36:04 · 207 阅读 · 0 评论 -
合并两个有序数组
LeetCode合并两个有序数组给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出: [1,2,2,3,5,6原创 2020-08-27 12:28:54 · 148 阅读 · 0 评论 -
反转字符串中的元音字符
反转字符串中的元音字符Given s = “leetcode”, return “leotcede”.使用双指针,一个指针从头向尾遍历,一个指针从尾到头遍历,当两个指针都遍历到元音字符时,交换这两个元音字符。为了快速判断一个字符是不是元音字符,我们将全部元音字符添加到集合 HashSet 中,从而以 O(1) 的时间复杂度进行该操作。时间复杂度为 O(N):只需要遍历所有元素一次空间复杂度 O(1):只需要使用两个额外变量import java.util.Arrays;import java.原创 2020-08-26 12:25:38 · 313 阅读 · 0 评论 -
两数平方和
题目描述:判断一个非负整数是否为两个整数的平方和。可以看成是在元素为 0~target 的有序数组中查找两个数,使得这两个数的平方和为 target,如果能找到,则返回 true,表示 target 是两个整数的平方和。本题和 Two Sum II - Input array is sorted 类似,只有一个明显区别:一个是和为 target,一个是平方和为 target。本题同样可以使用双指针得到两个数,使其平方和为 target。本题的关键是右指针的初始化,实现剪枝,从而降低时间复杂度。设右指针原创 2020-08-25 12:32:01 · 628 阅读 · 0 评论 -
有序数组的 Two Sum
有序数组的 Two SumInput: numbers={2, 7, 11, 15}, target=9Output: index1=1, index2=2题目描述: 在有序数组中找出两个数,使它们的和为 targetimport java.util.Arrays;/** * @author Mr.superbeyone * @project algorithms * @className TwoSum * @description 有序数组的 Two Sum * @date 202原创 2020-08-24 13:38:13 · 374 阅读 · 0 评论