1.回文数:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 (1):
输入: 12221
输出: true
示例 (2):
输入: -88
输出: false
解释: 从左向右读, 为 -88 。 从右向左读, 为 88- 。因此它不是一个回文数。
示例 (3):
输入: 100
输出: false
解释: 从右向左读, 为 001 。因此它不是一个回文数。
解法:取出后半段数字进行翻转,然后与前一段数进行比较,如果相等那么就是回文数,不相等则不是回文数。
(1)设数字num,每次进行取余(%10)操作,得到最后一位数字a,然后将数字除以10(表示去掉最后一位数字);
(2)将上一步中得到的数加到当前翻转的数中:reverseNum = reverseNum*10 + a;
(3)判断当前num与reverseNum的大小,当num < reverseNum时说明已经取出一半数字了(停止条件)。
(4)比较是否相同,相同则是回文数,不相同则不是。
public bool isPalindrome(int num) {
// 不是回文数的特殊情况情况:
// (1)num < 0 时;
// (2)num是非0整数时