两数之后
var twoSum = function (nums, target) {
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
if (nums[i] + nums[j] === target) {
return [i, j];
}
}
}
};
console.log(twoSum([2, 7, 11, 15], 9));
最长公共前缀
var longestCommonPrefix = function (strs) {
if (strs == null || strs.length == 0) return "";
for (let i = 0; i < strs[0].length ; i++){
let c = strs[0][i];
for (let j = 1; j < strs.length; j ++) {
if (i == strs[j].length || strs[j][i] != c)
return strs[0].substring(0, i);
}
}
return strs[0];
};
console.log(longestCommonPrefix(['flower', 'flow', 'flight']));
有效的括号
var isValid = function (s) {
if (!s) return true;
let stack = [];
let obj = {
'{': "}",
'(': ")",
'[': "]",
};
for (let i = 0; i < s.length; i++) {
let c = s[i]
if (Object.keys(obj).includes(c)) {
stack.unshift(c)
} else {
if(c !== obj[stack.shift()]) return false
}
}
return stack.length === 0
};
合并2个有序列表
var mergeTwoLists = function (l1, l2) {
if (!l1) return l2;
if (!l2) return l1;
if (l1.val < l2.val) {
l1.next = mergeTwoLists(l1.next, l2)
return l1
} else {
l2.next = mergeTwoLists(l1, l2.next)
return l2
}
};
删除数组中的重复项
var removeDuplicates = function (nums) {
if (nums.length === 0) return 0;
let i = 0;
for (let j = 1; j < nums.length; j++) {
if (nums[i] !== nums[j]) {
i++;
nums[i] = nums[j];
}
}
console.log(nums);
return i + 1;
};
console.log(removeDuplicates([1, 1, 3, 3, 5, 6, 7, 7, 10]));
移除数组中指定的值
var removeElement = function (nums, val) {
let i = 0;
for (let j = 0; j < nums.length; j++) {
if (nums[j] != val) {
nums[i] = nums[j];
i++;
}
}
console.log(nums);
return i;
}
console.log(removeElement([3, 2, 2, 4, 1], 2));