力扣
bird-2
萌新在读
展开
-
最后一个单词长度JAVA版
问题描述 给你一个字符串s,有若干个单词组成,单词之间用空格隔开,返回字符串中最后一个单词的长度,如果不存在最后一个单词,请返回0 示例 1: 输入:s = “Hello World” 输出:5 示例 2: 输入:s = " " 输出:0 提示 1:1 <= s.length <= 10^4 2: s仅有英文字母和空格’ ’ 组成 题解 第一种思路是: ...原创 2021-06-03 20:09:50 · 104 阅读 · 0 评论 -
最长公共前缀JAVA版
问题描述 编写一个函数来查找字符串数组中的最长公共前缀,如果不存在公共前缀,返回空字符串“ ”。 示例: 输入:strs = [“flower”,“flow”,“flight”] 输出:“fl” 输入:strs = [“dog”,“racecar”,“car”] 输出:"" 解释:输入不存在公共前缀 提示: 1:0 <=strs.length <=200 2: 0 <=strs[i].length <=200 3: strs[i]仅由小写英文字母组成 题解 一种方法是依次遍原创 2021-05-24 19:46:47 · 1023 阅读 · 0 评论 -
有效的括号JAVA版
问题描述 给定一个只包括’(’, ‘)’, ‘{’, ‘}’, ‘[’, ']'字符串s,判断字符串是否有效,有效字符串需满足: 1:左括号必须用相同类型的右括号闭合 2:左括号必须以正确的顺序闭合 示例1: 输入:s = “()” 输出:true 示例 2: 输入:s = “()[]{}” 输出:true 示例 3 输入:s = “(]” 输出:false 提示: 1 <=s.length <=10^4 s仅用括号‘(){}[]’组成 题解 ...原创 2021-05-28 21:10:50 · 151 阅读 · 0 评论 -
实现strStr()JAVA版
问题描述 实现strStr()函数 给你两个字符串haystack,needle,请你在haystack字符串中找出needle字符串出现的第一个位置(下标从0开始),如果不存在,则返回-1. 当needle是空字符串时,我们应当返回 示例 1: 输入:haystack = “hello”, needle = “ll” 输出:2 示例 2: 输入:haystack = “aaaaa”, needle = “bba” 输出:-1 示例 3: 输入:haystack = “”, needle = “” 输出:0原创 2021-06-01 21:57:47 · 146 阅读 · 0 评论 -
删除有序数组中的重复项JAVA版
问题描述 给你一个有序数组nums,请你原地删除重复出现的元素,使得每一个元素只出现一次,返回删除后数组的新长度。 不要使用额外的数组空间,必须在原地修改输入数组,并在使用O(1)额外空间的条件下完成。 示例1 输入:nums = [1,1,2] 输出:2, nums = [1,2] 解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。 示例 2 输入:nums = [0,0,1,1,1,2,2,3,3,4] 输出:5, nums原创 2021-06-01 15:22:39 · 430 阅读 · 0 评论 -
X的平方根JAVA版
题目描述 实现 int sqrt ( int x )函数,计算并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。 题解 这道 题官方的解答是用到牛顿 ...原创 2021-06-24 16:28:25 · 293 阅读 · 0 评论 -
加1JAVA版
问题描述 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一,最高位数字存放在数组的首位,数组中每个元素只存储单个数字 示例 1: 输入:digits = [1,2,3] 输出:[1,2,4] 解释:输入数组表示数字 123。 示例 2: 输入:digits = [4,3,2,1] 输出:[4,3,2,2] 解释:输入数组表示数字 4321。 示例 3: 输入:digits = [0] 输出:[1] 提示 1:1 <= digits.length <=100 2:0 <=di原创 2021-06-03 21:18:13 · 132 阅读 · 0 评论 -
合并两个有序链表JAVA版
问题描述 将两个升序链表合并为一个新的升序链表并返回,新链表是通过拼接给定的两个链表的所有节点组成的 示例1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例2: 输入:l1 = [], l2 = [] 输出:[] 示例3: 输入:l1 = [], l2 = [0] 输出:[0] 提示 1:两个链表的节点数目范围是[0,50] 2:-100 <= Node.val <= 100 3:l1和l2均按非递减顺序排列 题解 第一种方法是迭代,当l原创 2021-05-31 19:45:10 · 94 阅读 · 0 评论 -
罗马数字转整数JAVA版
问题描述 罗马数字包括以下7种字符:I,V,X,L,C,M 例如罗马数字2写做II,即为两个并列的1,例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下原创 2021-05-22 16:26:38 · 440 阅读 · 0 评论 -
回文数JAVA版
问题描述 一个整数x,如果x是一个回文整数,返回TRUE,否则,返回false 回文数是指正序(从左到右)和倒序(从右向左)读都是一样的整数。例如:121是回文,而123不是 提示:-2^31 <= X <= 2^31-1 题解 一种思路是将整数转换为字符串数组,对半折,利用循环一半的数组长度即可或者利用reverse()函数来判断是否相同。 程序代码 class Solution{ public boolean isPalindrome(int x){ if(x < 0)原创 2021-05-22 14:29:26 · 141 阅读 · 0 评论 -
整数反转JAVA版
问题描述 给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果,如果反转后整数超过32位的有符号整数范围[-2^31, 2^31-1]就返回0。假设环境不允许存储64位整数(有符号或无符号) 提示:-2^31 <= X<= 2^31-1 题解 试想一下,要去反转一个数,把整数变成字符串再去反转字符串,但是这种方法并不好,那么我们可以想一下,如果我们得到了整数的末尾数字,比如说:12345这个整数,先拿到5,再拿到4之后就是3,2,1,我们按这样的顺序反向拼接处一个数字了,也就能达到反原创 2021-05-21 20:45:35 · 123 阅读 · 0 评论 -
“两数之和”JAVA版
**两数之和原创 2021-05-19 15:39:55 · 74 阅读 · 0 评论