经学长介绍发现这个刷题的网站,于是闲着无聊的时候就上去刷刷(不定时更新)
地址: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;
};
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;
};