两数之和
题目描述:给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和目标值target的那两个整数,并且返回他们的下标,每次输入都会对应一个答案
var twoSum = function (nums,target) {
for(let i = 0,len=nums.length;i<len;i++) {
let obj = {}
if (nums[i] in obj) {
return [obj[nums[i]],i]
} else {
obj[target-nums[i]] = i
}
}
}
解题思路:用对象obj去存储当前数据对应数据,键值为对应数据,键值为下标,如果当前数据存在于obj中,那么就找到了,并将当前下标和记录的下标返回
整数反转
- 给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。如果反转后整数超过32位的有符号整数的范围[-231,,231-1],就返回0.假设环境不允许存储64位整数(有符号或无符号) ```javascript /**
/
var reverse = function (x) {
let rev = 0
while(x!==0) {
const digit = x % 10
x = ~~(x/10)
rev = rev 10 + digit
if (rev
- 解题思路:找规律,既然是数字反转就得找相应的规律,那么每次除以10取余数,每次的余数即要反转的数据,将余数拼接返回即可