LeetCode题解
更好的自己520
这个作者很懒,什么都没留下…
展开
-
LeetCode之两数之和
题目 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。 注意事项 你可以假设只有一组答案。样例 给出 numbers = [2, 7, 11, 15], target = 9, 返回 [1, 2].思路转载 2018-03-31 11:10:22 · 234 阅读 · 0 评论 -
leetcode 罗马数字与整数的转换算法
介绍: 该算法是将罗马数字转换为整数,思路如下:比如IXX,使用临时变量temp保存上一个已经遍历的罗马数字,比如:遍历时是从后往前遍历的:1> 刚开始时,temp = 0; 遍历当前遍历到第一个X,则temp == 0 < 10 == X ,则res = 10;temp = 10;2> 继续向前遍历,又遇到X,此时temp == 10 = 10 == X,则 res = res + 1转载 2018-03-31 14:34:13 · 552 阅读 · 0 评论 -
Leetcode 回文数
1:反转比较法 复杂度:时间 O(n) 空间 O(1)思路: 回文数有一个特征,就是它反转后值是一样的,所以我们可以先将其反转,然后比较反转数和原数是否相等,该方法的问题在于溢出的判断和处理。代码 public boolean isPalindrome(int x) { // 负数不是回访数字 if (x < 0) { return fa转载 2018-04-01 15:02:25 · 207 阅读 · 0 评论 -
Leetcode 字符串数组的最长公共前缀
public String longestCommonPrefix(String[] strs){ if(strs == null || strs.length==0) return ""; String prifex = strs[0]; // 默认将第一个认为是最长共同 for(int i=1;i<strs.length;...原创 2018-04-01 15:39:03 · 310 阅读 · 0 评论 -
Leetcode从排序数组中删除重复项
介绍 给定一个有序数组,删除重复内容,使每个元素只出现一次,并返回新的长度。 不要为其他数组分配额外的空间,您必须通过在 O(1)额外的内存中就地修改输入数组来实现这一点。例: 给定nums = [1,1,2],你的函数应该返回length = 2,前两个nums元素分别是1和2。无论你离开新的长度,都没有关系。思路 采用两个标记点 number 和 i ,number记录不重复元素的位置转载 2018-04-01 23:05:17 · 977 阅读 · 0 评论