Difficulty: Easy
【题目】Determine whether an integer is a palindrome. Do this without extra space.
Here are few examples.
1、121、34543
翻译
回文数字
难度系数:简单
查明一个数字是否是回文,用最简洁的方法办到。
一些示例
1、121、34543 (回文:就是从左看和从右看都是一样的文字)
// 时间复杂度n/2
BOOL isPalindrome = [self isPalindrome:12321];
- (BOOL)isPalindrome:(NSString *)palindrome {
if (palindrome.integerValue < 0) {
return NO;
}
for (NSInteger i = 0; i <= palindrome.length/2 ; i++) {
NSInteger height = palindrome.length - i - 1;
NSInteger low = i;
// 取出相对应位置的数字,看是否相同
if ([self getDigit:palindrome.integerValue andHeightOrLow:height] != [self getDigit:palindrome.integerValue andHeightOrLow:low]) {
return NO;
}
}
return YES;
}
- (NSInteger)getDigit:(NSInteger)palindrome andHeightOrLow:(NSInteger)digit {
return palindrome/(NSInteger)pow(10, digit)%10;
}