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一题的主要内容,如果未能解决你的问题,请参考以下文章

leetcode每日leetcode一题

LeetCode9月 每日一题

LeetCode9月 每日一题

LeetCode9月 每日一题

Leetcode每日一题(3)

每日leetcode一题