leetcode—数字反转

题目描述:
leetcode—数字反转_第1张图片

leetcode—数字反转_第2张图片


class Solution {
//	public static void main(String[] args){
//		String a = "-0012";
//		System.out.println(reverse(-1234567899)+"");
//	}
	
	public static int reverse(int x) {
		String ans_s = "";
		int end = 0;
		if(x < 0){
			ans_s += "-";
			end = 1;
		}
		String input = x + "";
		
		for(int i=input.length()-1;i>=end;i--) {
			ans_s = ans_s + input.charAt(i);
		}
		try{
			Integer.valueOf(ans_s);
		}catch(Exception e){
			return 0;
		}

        return Integer.valueOf(ans_s);
    }
}

 这道题目主要就是要考虑溢出。

总结与收获:

1、Integer 有两个静态属性 MAX_VALUE 和MIN_VALUE

2、Integer.valueOf  非常强大。 比如“00120” ,可以转换为120, “-00123”可以转换为-123.

3、越界处理,直接判断String 转换为int的时候有没有抛出异常,有异常就返回0.没有的话,返回数据本身

 

 

你可能感兴趣的:(算法,数字反转)