数据结构毕业后全还给老师了🤐从简单开始做,目前也只能做简单的数组和字符串😭。只是记录一下,并没有参考性 👿
1. 两数之和
var twoSum = function(nums, target) {
const len = nums.length;
const obj = new Map();
for(let i=0; i<len; i++) {
const numj = target - nums[i];
if(obj.has(numj)) {
return [obj.get(numj),i];
} else {
obj.set(nums[i],i);
}
}
return [];
};
var twoSum = function(nums, target) {
const len = nums.length;
for(let i=0; i<len-1; i++) {
for(let j=i+1; j<len; j++) {
if(nums[i] + nums[j] === target) {
return [i, j];
}
}
}
};
7. 整数反转
var reverse = function(x) {
const newX = parseInt(Math.abs(x).toString().split('').reverse().join(''));
if(newX > Math.pow(2,31)-1 || -newX < -Math.pow(2,31)) {
return 0;
}
if(x > 0) {
return newX;
}
return '-' + newX;
};
9. 回文数
var isPalindrome = function(x) {
if(x<0) return false;
const newx = parseInt(x.toString().split('').reverse().join(''));
return x === newx;
};
28. 实现 strStr()
var strStr = function(haystack, needle) {
if(needle === '') return 0;
return haystack.indexOf(needle);
};
58. 最后一个单词的长度
var lengthOfLastWord = function(s) {
const arr = s.trim().split(' ');
return arr[arr.length-1].length;
};