重庆市设计公司网站,wordpress优酷视频插件,代理游戏怎么代理,网页设计尺寸单位题目描述#xff1a;
判断一个整数是否是回文数。回文数是指正序#xff08;从左向右#xff09;和倒序#xff08;从右向左#xff09;读都是一样的整数。
示例 1:
输入: 121
输出: true示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为…题目描述
判断一个整数是否是回文数。回文数是指正序从左向右和倒序从右向左读都是一样的整数。
示例 1:
输入: 121
输出: true示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数进阶: 你能不将整数转为字符串来解决这个问题吗
我的解决方案1
public static boolean isPalindrome(int x) {String s String.valueOf(x);StringBuilder sb new StringBuilder();char h s.charAt(0);if(h -) {return false;}int len s.length();for(int i0;ilen;i) {sb.append(s.charAt(len - i -1));}return sb.toString().equals(s);}我的解决方案2. 看起来方案2更优美并且感觉占用内存会更少
public static boolean isPalindrome(int x) {String s String.valueOf(x);int len s.length();int mid len/2;for(int i0;imid;i) {if(s.charAt(i) ! s.charAt(len - i -1)) {return false;}}return true;}解决方案3不转为字符串
public boolean isPalindrome(int x) {int tx;long res 0;if(x 0) {return false;}while (t0) {res 10*res t%10;t/10;}return res x;}