1. 兩數之和
var twoSum = function(nums, target) {
var arr=[];
for(var i=0;i<nums.length;i++){
for(var j = i+1;j<nums.length;j++){
if(nums[j] === target - nums[i]){
arr.push(i);
arr.push(j);
return arr;
}
}
}
};
複製程式碼
雙層迴圈,從第1個開始外層迴圈,內層迴圈從1個以後的數開始,以此類推。
會迴圈每兩個數構成的一對組合。
7. 整數反轉
兩種方法
1.可以用js的陣列反轉
2.用%10來從最後一位反轉
function judge(arr){
for(var i = 0;i<arr.length;i++){
if(arr[i]==0){
arr.unshift();
}else{
return arr;
}
}
}
var reverse = function(x) {
console.log(Math.pow(2,31)-1);
if(x<=(Math.pow(2,31)-1)&&x>=Math.pow(-2,31)){
x = x.toString();
if(x>0){
var arr = x.split("").reverse();
console.log(arr)
judge(arr);
x = arr.join("")*1;
if(x<=(Math.pow(2,31)-1)&&x>=Math.pow(-2,31) ){
return x;
}else{
return 0;
}
}else if(x<0){
var arr = x.split("").reverse();
console.log(arr)
arr.pop();
judge(arr);
console.log(arr)
arr.unshift("-");
x = arr.join("");
if(x<=(Math.pow(2,31)-1)&&x>=Math.pow(-2,31) ){
return x;
}else{
return 0;
}
}else if(x==0){
return 0;
}
}else{
return 0;
}
};
複製程式碼
function reverse1(x){
var num = 0,sum=0;
var len = typeof(x)== "string" ? x.length : x.toString().length;
for(var i=0;i<len;i++){
if(x<10){
num = x%10;
sum = sum+num;
if((sum*1) < Math.pow(-2,31) || (sum*1) >( Math.pow(2,31)-1)){
return 0;
}else{
return sum;
}
}
num = x%10;
x = Math.floor(x/10);
sum = (sum+num)*10;
}
}
var reverse = function(x) {
if(x < Math.pow(-2,31) || x >( Math.pow(2,31)-1)){
return 0;
}else {
if(x>0){
var str= reverse1(x);
return str;
}else if(x===0){
return 0;
}else if(x<0){
var arr = x.toString().split("");
arr.shift();
var str = arr.join("");
var str2 = "-"+reverse1(str);
return str2;
}
}
};
複製程式碼
9. 迴文數
var isPalindrome = function(x) {
if(x<0){
return false;
}else if(x==0){
return true;
}else if(x>0){
x1 = x.toString();
var arr = x1.split("");
arr1 = arr.reverse().join("");
if(x1 == arr1){
return true;
}else{
return false;
}
}
};
複製程式碼
26. 刪除排序陣列中的重複項
var removeDuplicates = function(nums) {
if(nums.length ==0){
return 0;
}
var i = 0,k=0;
for(var j=1;j<nums.length;j++){
if(nums[i] !== nums[j]){
i++;
nums[i]=nums[j];
}
}
return i+1;
};
複製程式碼
27. 移除元素
var removeElement = function(nums, val) {
var x = 0;
for(var i=0;i<nums.length;i++){
if(nums[i] != val){
nums[x]=nums[i];
x++;
}
}
return x;
};
複製程式碼
35. 搜尋插入位置
var searchInsert = function(nums, target) {
for(var i=0;i<=nums.length;i++){
if(nums[i]>=target){
return i;
}
}
};
複製程式碼