一,取得十进制数字上的每一位
用当前数字与10求余数,该余数即是当前数字最低位上的数字,接下来我们将当前数字除以10,继续求它与10的余数,该数字即是次低位上的数字,重复上述过程直到当前数字为0为止。
List<Integer> list = new ArrayList<>();
// 取得x上的每一位
while(x>0){
list.add(x%10);
x/=10;
}二, 判断回文
判断一个字符串是否是回文我们通常采用剥洋葱的方式,从最外层向内比较,解题时可以定义左右两个指针,初始时左指针指向下标0,右指针指向字符串末尾位,如果当前俩指针指向的值不一致,直接返回false。反之,左指针加一,右指针减一,向内移动一层继续比较,重复此过程直到左指针不再小于右指针为止。
public boolean isPalindrome(String s) {
// 定义左右指针
int left=0,right=list.size()-1;
while(left<right){
// 左右指针指向的数字不同时,返回false
if(s.charAt(left) != s.charAt(right)){
return false;
}
left++;
right--;
}
return true;
}三,不使用额外变量交换两个数字或字符的值



