leetcode刷题经验——编程语言:Java

1、两数之和(难度:简单)

(1)Java数组

动态初始化:数据类型[] 数组名称=new 数据类型 [长度]

键盘输入方法:

方法一(不限制输入数组的长度):

  Scanner sc = new Scanner(System.in);
  String str = sc.next().toString();
  String[] arr  = str.split(",");
  int[] b = new int[arr.length];
  for(int j = 0; j<b.length;j++) {
   b[j] = Integer.parseInt(arr[j]);

System.out.println(b[j]+" ");}

方法二(限制输入数组的长度):

Scanner in = new Scanner(System.in);
int[] b=new int[3];
for(int i=0;i<b.length;i++){
b[i]=in.nextInt();
}  

【附】Scanner类中的next()与nextLine()的区别:

next()遇见第一个有效字符(即非空格和换行符)时开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,换言之,next()中不包含空格和换行符。

nextLine()可以扫描一行内容并做为一个字符串而被获取到。

(2)如何从键盘简单输入

Scanner in =new Scanner(System.in);                           

int a=in.nextInt();//输入一个整数                                     

System.out.println("请输入一个整数")                                     

System.out.println(a);

答案:

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] res = new int[2];
        for (int i = 0; i < nums.length; i++) {
            // j = i + 1 的目的是减少重复计算和避免两个元素下标相同
            for (int j = i + 1; j < nums.length; j++) {
                if (nums[i]+nums[j] == target){
                    res[0] = i;
                    res[1] = j;
                    return res;
                }
            }
        }
        return res;
}
2、整数反转
(1)将整数转为字符串
法一:String s=String.valueOf(i);
法二:String s=Integer.toString(i);
(2)将字符串转为整数
int i=Integer.parseInt([String]);
  (3)获取字符串的每个字符或者遍历字符串
 
 

猜你喜欢

转载自www.cnblogs.com/980612lien/p/12243036.html