-
Notifications
You must be signed in to change notification settings - Fork 0
/
564.cpp
50 lines (48 loc) · 1.2 KB
/
564.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include<iostream>
#include<limits>
#include<string>
using namespace std;
class Solution {
public:
bool isPalindrome(long long test) {
if(test<10 and test>=0){return true;}
if(test<0){return false;}
string pro_str=to_string(test);
int len=pro_str.size();
int mid=len/2;
bool match=true;
for(int i=0;i<=mid;i++){
if(pro_str[i]!=pro_str[len-1-i]){
match=false;
break;
}
}
return match;
}
string nearestPalindromic(string n) {
long long num=stoll(n);
long long bigger=num+1; long long smaller=num-1;
long long result=0;
while(true){
if(isPalindrome(smaller)){
result=smaller;
break;
}else{
smaller--;
}
if(isPalindrome(bigger)){
result=bigger;
break;
}else{
bigger++;
}
}
return to_string(result);
}
};
int main(){
cout<<LLONG_MAX<<endl;
Solution a;
cout<<a.nearestPalindromic("123456789")<<endl;
return 0;
}