![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode--1--感想
adreamleet
这个作者很懒,什么都没留下…
展开
-
longest common prefix
简单题--var longestCommonPrefix = function(strs) { if(strs=="") return ""; if(strs.length==1) return strs[0]; for(i=0;i if(strs[i]=="") return ""; //js中怎样终止程序运行? if(st原创 2015-12-30 14:11:23 · 525 阅读 · 0 评论 -
moveZeroes--JavaScript
var moveZeroes = function(nums) { var count=0; //计算数组中0的个数 var n=0; //用来表示数组的 新序列 for(i=0;i if(nums[i]==0){ count++; } else nu原创 2016-02-27 15:11:38 · 334 阅读 · 0 评论 -
Pascal's Triangle I && II--JavaScript
var generate = function(numRows) { var res=[]; for(i=0;i res[i]=[]; } for(i=0;i for(j=0;j if(i==0) res[i]=[1]; else if(原创 2016-02-27 11:42:31 · 321 阅读 · 0 评论 -
Plus One--JavaScript
正确解答的思路:若数组长度改变,那么肯定是数组中所有的数字都是9。所以可以先考虑数组长度是否改变,然后分别进行考虑。显然这里应该是可以进行代码简化的,然而我懒,现在不想简化。正确代码如下:var plusOne = function (digits) { var temp=0; //用来表示在原数组长度下所能表示的最大数 var count=0; //用来表示数组原创 2016-02-27 11:21:45 · 421 阅读 · 0 评论 -
rotate array--JavaScript
最开始的错误解答如下:var rotate = function(nums, k) { for(i=0;i temp=nums[i]; nums[i]=nums[nums.length-1-i]; nums[nums.length-1-i]=temp; } for(i=0;i temp=num原创 2016-02-26 11:38:24 · 306 阅读 · 0 评论 -
Implement strStr--JavaScript
题目要求找到子字符串在字符串中第一次出现的位置;刚看到题目,想得过于简单,以为子字符串只有一个字符,显然是错的;var strStr = function(haystack , needle){ if(needle.length==0) return 0; if(needle.length>haystack.length) return -1; num=0;原创 2016-01-05 11:25:06 · 449 阅读 · 0 评论 -
Reverse Integer leetcode--JavaScript
看到题目之后的第一反应是直接将数字转换成字符串,然后反转,最后再将字符串变成integer;但是这样刚开始的时候一直报错,因为边界溢出的问题,最后看到需要添加一个判断语句,处理溢出情况(也就是return前面的那一句。)var reverse = function(x) { str=x.toString(); res=new Array(); n=0;原创 2015-12-26 11:38:24 · 499 阅读 · 0 评论 -
Summary Ranges--JavaScript
刚开始就没看懂题目,后面才知道是需要将已排序数组进行分成几个连续的字符段。var summaryRanges = function(nums) { var res=[]; var num=0; var start=0; for(i=0;i if(nums[i]+1==nums[i+1]){ continue;原创 2016-02-25 11:03:24 · 320 阅读 · 0 评论 -
reverse linked list--javascript
刚开始没做出来,因为:①没太弄清楚js可以怎么表示链表;②这个属于排序问题--使用头插法排序。var reverseList = function(head) { if(!head || !head.next) return head; var p = new ListNode(-1); p.next=head; head=head.n原创 2016-03-08 20:04:13 · 409 阅读 · 0 评论 -
happy number--JavaScript
这道题的关键在于对程序进入死循环时的处理~var isHappy = function(n) { if(n return false; var tmp=(n+"").split(''); //将n的每一个数字拆分存到数组(从高位到 低位存储) var res=0; var loop=[n]; while(res!=1){原创 2016-03-02 21:27:56 · 422 阅读 · 0 评论 -
Isomorphic Strings--JavaScript
刚开始看到这道题,自然想直接用word pattern的方法,但是在这里会超时,因为那个使用了两重循环,所以这里的关键点在于indexOf函数的使用:var isIsomorphic = function(s, t) { var aS=s.split(''); var aT=t.split(''); if(aS.length!=aT.length)原创 2016-03-02 20:48:13 · 246 阅读 · 0 评论 -
Valid Anagram--JavaScript
实在是一道简单题,但是刚开始两种方法都使用了两重循环,所以超时,后来使用了数组中的sort()函数,代码如下:var isAnagram = function(s, t) { aS=s.split(''); aT=t.split(''); if(aS.length!=aT.length) return false; aS=aS.so原创 2016-03-02 19:19:34 · 286 阅读 · 0 评论 -
valid sudoku--JavaScript
这道题纠结了好久~~最开始没看懂题目,以为整个大的九宫格中的数字也不能重复出现~~后面又纠结于js是否有map,怎样使用~~~暂时通过的最笨的解决办法代码如下:/** * @param {character[][]} board * @return {boolean} */var isValidSudoku = function(board) { //每一行原创 2016-03-02 19:00:10 · 387 阅读 · 0 评论 -
wordPattern--JavaScript
最开始看到题目时,总以为str的 长度可以是pattern的几倍,并且想着先判断pattern的模式再来str中验证,而没有想到可以一边判断pattern模式一边验证str,所以弄得整个的代码很复杂。看了解题思路之后,才反应过来,这个实在是一个简单题。代码如下:var wordPattern = function(pattern, str) { aPattern=pattern.原创 2016-03-01 17:19:02 · 308 阅读 · 0 评论 -
leetcode ZigZag Conversion
刚开始看完题目之后,按照列出来的形式,一直将变型之后的数组当做一个二位数组形式,所以就想着先把输入的字符串按照条件变成一个二维数组,然后再将成型的二维数组转换成字符串。但是显然这样很复杂,而且我也没有做出来。思路有错!!百度之后,思路都是:直接用一个一维数组按照ZigZag顺序接收字符串的字符。这样就需要推算出是按照怎样的先后顺序获取字符串数组的。对于第一行和最后一行比较简单,所取的字符原创 2015-12-26 11:35:15 · 344 阅读 · 0 评论 -
Palindrome Nmber
由于题目要求空间复杂度味O(1),所以不能考虑将数字变成字符串,并且之前reverse中会有溢出的问题,所以,可以使用之前在网络上看到的reverse的简单解法,即通过整除取余比较最高位数与最低位数。错误代码如下:var isPalindrome = function(x) { if(x else if(x var num=0; //表示x的位数原创 2015-12-27 20:37:47 · 368 阅读 · 0 评论 -
Roman to integer
将1-3999的罗马数字变成整数。关键在于知道罗马数字的形成规则,每两个数字比较,如果左边的数大于右边的数,则加起来;反之,则右边的数减去左边的数。代码如下:var romanToInt = function(s) { res=0; temp=new Array(); for(i=0;i switch(s.charAt(i)){原创 2015-12-28 10:57:11 · 419 阅读 · 0 评论 -
remove duplicates from sorted array
将有序数组中重复的数字去掉,返回新的数组长度。乍一看,这道题很简单。想法:从前往后比较,如果两个数字相等,则后一个数字等于它本身的后一个数并且此时len--;最后返回len。但是这样做有一个问题:如果是数组的最后一个与前面的数相等,则此时,会溢出,会取到数组之外的一个数。原创 2015-12-30 11:34:49 · 308 阅读 · 0 评论 -
21. Merge Two Sorted Lists--java
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public List原创 2016-04-26 13:00:46 · 475 阅读 · 0 评论