Leetcode 漫漫刷题路👻~

137 阅读1分钟

数据结构毕业后全还给老师了🤐从简单开始做,目前也只能做简单的数组和字符串😭。只是记录一下,并没有参考性 👿

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;
};