LeetCode刷题--JavaScript版

经学长介绍发现这个刷题的网站,于是闲着无聊的时候就上去刷刷(不定时更新)

地址:https://leetcode-cn.com;


下面,好戏开始


1两数之和


var twoSum = function(nums, target) {
    for(let i = 0; i < nums.length ; i++){
        for(let j = i+1 ; j < nums.length ; j++){
            if (target == nums[j] + nums[i]){
                return [i,j];
            }
        }
    }
};

7反转整数

var reverse = function(x) {
    var l = false;
    if(x < 0){
        l = true;
        x *= -1;
    }
    var sum = 0;
    while(x){ 
        sum = sum * 10 + x % 10;  
          x = parseInt(x/10);
    }
    if(l){
        sum *= -1;
    }
    if(sum > Math.pow(2,31) || -sum > Math.pow(2,31)) sum = 0
    return sum;
};
9 回文数

var isPalindrome = function(x) {
    /**
    * x为负数时,x不为回文
    * x是最后一位为0时,只有x本身是0才能是回文
    */
    if(x < 0 || (x%10 !== 0 && x != 0)){
        return false;
    }
    var y = x;
    var s = 0;
    while(x){
        s = s * 10 + x % 10;
        x = parseInt(x/10);
    };
    return (s == y) ? true :false;
}

13罗马数字转整数

var romanToInt = function(s) {
    var arr = {I:1,V:5,X:10,L:50,C:100,D:500,M:1000};
    var sum = 0;
    for (var i = 0 ; i < s.length ; i++){
        if(i < s.length-1){
            if(arr[s[i]] >= arr[s[i+1]]){
                sum += arr[s[i]];
            }else{
                sum += (arr[s[i+1]] - arr[s[i]]);
                i ++;
            }
        }else{
            sum += arr[s[i]];
        }
    }
    return sum;  
};
14 最长公共前缀

var longestCommonPrefix = function(strs) {
    if(strs.length == 0){
        return "";
    }
    let str = "";
    let length = strs[0].length;
    for(let i = 1;i< strs.length;i++){
        length = strs[i].length < length ? strs[i].length : length;
    }
    for(let i = 0; i < length; i++){
        for(let j = 0; j < strs.length-1; j++){
            if(strs[j][i] != strs[j+1][i]){
                if(i == 0){
                    return "";
                }else{
                    return str; 
                }
            }
        }
        str += strs[strs.length-1][i];
    }
    return str;
};

20.有效的括号

var isValid = function(s) {
    let len = s.length;
    let obj = {")":"(","]":"[","}":"{"};
    let arr = [];
    for(let i = 0; i < len; i++) {
    	if(s[i] === '(' || s[i] === '[' || s[i] === '{'){
    		arr.push(s[i]);
    	}else{
    		let right = arr.pop();
    		if(obj[s[i]] !== right){
                return false;
            }
    	}
    }
    return arr.length === 0;
};






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值