Leetcode刷题 (一)
题目链接:
两数之和: https://leetcode-cn.com/problems/two-sum/
题目描述:
给定一个整数数组 nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。
示例 1:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
提示:
2 <= nums.length <= 103
-109 <= nums[i] <= 109
-109 <= target <= 109
只会存在一个有效答案
题目分析:
暴力枚举
1 class Solution { 2 public int[] twoSum(int[] nums, int target) { 3 for(int i = 0;i < nums.length;i++){ 4 for(int j = i+1;j < nums.length;j++){ 5 if(nums[i]+nums[j]==target){ 6 return new int[]{i,j}; 7 } 8 } 9 } 10 return null; 11 } 12 }
题目链接:
整数反转:https://leetcode-cn.com/problems/reverse-integer/
题目描述:
给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
示例 1:
输入:x = 123
输出:321
题目分析:
long 辅助计算判断溢出
1 class Solution { 2 public int reverse(int x) { 3 long nn = 0; 4 while(x != 0){ 5 nn = nn*10 + x % 10; 6 x= x/10; 7 } 8 System.out.println(nn); 9 System.out.println((int)nn); 10 return (int)nn==nn? (int)nn:0; 11 } 12 }