1.整数反转 (简单)
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
class Solution {
public int reverse(int x) {
long n=0;
while(x!=0){
n=n*10+x%10;
x=x/10;
}
//判断反转后是不是整数溢出
return (int)x==x?(int)x:0;
}
}
解题思路
最开始:保存成一个int型数组,将数组转化为string,再将string转化为int
结果:直接通过取余将int性数字反转
知识点:
1.Java基本数据类型
byte:8位,有符号 -128~127
short:16位,有符号,-2^15~2^15-1
int:32位,有符号 -2^31~2^31-1
long:64,有符号 -2^63~2^63-1 默认值是0L
float: 单精度,32位,默认值是0.0f
double:双精度,64位,默认值是0.0d
boolean
char:单一的16位Unicode字符 char c='A'
String:默认值是null
2.强制类型转换
public class ZiDongLeiZhuan{
public static void main(String[] args){
char c1='a';//定义一个char类型
int i1 = c1;//char自动类型转换为int
System.out.println("char自动类型转换为int后的值等于"+i1);
char c2 = 'A';//定义一个char类型
int i2 = c2+1;//char 类型和 int 类型计算
System.out.println("char类型和int计算后的值等于"+i2);
}
}
输出结果为:97 66
3.Integer类
Integer in=new Integer(7);
parseInt()方法将数值字符串转换为int型
public class Summation { // 创建类Summation
public static void main(String args[]) { // 主方法
String str[] = { "89", "12", "10", "18", "35" }; // 定义String数组
int sum = 0; // 定义int型变量sum
for (int i = 0; i < str.length; i++) { // 循环遍历数组
int myint=Integer.parseInt(str[i]);//将数组中的每个元素都转换为int型
sum = sum + myint; // 将数组中的各元素相加
}
System.out.println("数组中的各元素之和是:" + sum); // 将计算后结果输出
}
}
toString()方法将Integer对象转换为十进制字符串
String str = Integer.toString(456);
Integer转换为int方法
Integer i = new Integer(10);
int k =i.intValue();
String 转换为Integer
Integer.valueOf(String s);
3.三目运算符