题目描述:Determine whether an integer is a palindrome. Do this without extra space. 该题含义:判断所给定的函数是不是回树,且不能占用额外的空间计算。 题目分析:如果将该整数进行倒转,存为另一个整数,然后对两个整数进行对比,会占用额外的计算空间,所以该种方法不适用。所以,取整数第一位、最后一位进行对比,而后去掉该两位后继续使用该方法进行手尾对比能够解决这个问题。
该种方法的缺点是:在进行判断的时候需要使用pow()方法来计算10的count次幂,而pow()方法的参数要求至少有一个为double型,且该方法的返回值也为double型。所以在计算中需要不停的进行int和double类型间的强制转换。十分麻烦且容易出错。
对于当x<0时返回均是false的情况是通过尝试得出的结论。第一次提交的时候,对x进行了正负数判断,当x为负数的时候取x的绝对值进行判断,但是提交后提示错误。 另外要注意的一点是,去掉首尾之后,结果与处理前减少了两个数量级,所以判断的时候count值应逐次除掉100而不是10。