leetcode每日leetcode一题
Posted Vicky沛沛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode每日leetcode一题相关的知识,希望对你有一定的参考价值。
其实有些算法思路挺有意思的,决定开始刷刷leetcode,先从简单的题开始吧!非最优解,仅记录分享
CSDN链接
github leetcode链接
文章目录
6.16
1、两数之和
/**
* @param number[] nums
* @param number target
* @return number[]
*/
var twoSum = function(nums, target)
let result = null
for(let i =0;i<nums.length-1;i++)
for(let j = i+1;j<nums.length;j++)
if(nums[i]+nums[j]===target)
result = [i,j]
break
return result;
;
6.17
28、实现strStr()
/**
* @param string haystack
* @param string needle
* @return number
*/
var strStr = function(haystack, needle)
let haystacklen = haystack.length;
let needlelen = needle.length;
if(haystacklen<needlelen)return -1
if(haystack === ''&&needle ==='')return 0
let res = -1;
for(let i = 0;i <= haystacklen-needlelen;i++)
if(haystack.substr(i,needlelen)===needle)
res = i;
break;
return res;
;
6.21
26、删除有序数组中的重复项(数组去重)
/**
* @param number[] nums
* @return number
*/
var removeDuplicates = function(nums)
for(let i = 0;i<=nums.length-1;i++)
for(let j = i+1;j<=nums.length-1;j++)
if(nums[i]===nums[j])
nums.splice(i,1)
i--;
break;
;
6.23
27. 移除元素
/**
* @param number[] nums
* @param number val
* @return number
*/
var removeElement = function(nums, val)
for(let i =0;i<nums.length;i++)
if(nums[i]===val)
nums.splice(i,1);
i--;
return nums.length;
;
7. 整数反转
/**
* @param number x
* @return number
*/
var reverse = function(x)
var zhengfu = x>0?true:false;
x = x > 0?x:-x;
var res = parseInt(x.toString().split('').reverse().join(''));
return res > 2147483647 || res < -2147483648 ? 0 :(zhengfu?res:-res)
;
9. 回文数
/**
* @param number x
* @return boolean
*/
var isPalindrome = function(x)
let res = false;
x===0?res = true:null;
if(x>0)
res = Number(x.toString().split('').reverse().join('')) === x ? true:false
return res;
;
14. 最长公共前缀
/**
* @param string[] strs
* @return string
*/
var longestCommonPrefix = function(strs)
let shortestIndex = 0,
res = '';
for(let i = 0;i<strs.length-1;i++)
strs[i].length > strs[i+1].length ? shortestIndex = i+1:null
let shortestItem = strs[shortestIndex]
for(let k = shortestItem.length;k>=0;k--)
let hasIt = strs.every((item)=>
return item.slice(0,k)===shortestItem.slice(0,k)
)
if(hasIt)
res = shortestItem.slice(0,k);
break;
return res
;
6.24
58. 最后一个单词的长度
/**
* @param string s
* @return number
*/
var lengthOfLastWord = function(s)
var arr = s.trim().split(' ')
return arr[arr.length-1]?arr[arr.length-1].length:0
;
66. 加一
/**
* @param number[] digits
* @return number[]
*/
var plusOne = function(digits)
let i = digits.length-1;
while(digits[i]===9)
digits[i] =0;
i--;
if(i<0)
digits.unshift(1)
else
digits[i]+=1
return digits
;
以上是关于leetcode每日leetcode一题的主要内容,如果未能解决你的问题,请参考以下文章