AT3935题解

· · 题解

回文数判断前面几位大佬已经讲的很清楚了,我讲一种新的 STL 做法。

这里介绍两个函数,reverse()to_string()

to_string()函数

to_string()是在 C++11 中新加入的函数,定义于<string>头文件中。用法为to_string(val),其中val可以是int,long,long long,unsigned int,unsigned long long,fload,double,long double类型。其作用是将数字转换成字符串。

reverse()函数

reverse()函数是一个可以翻转数组,stringvector等数据结构的函数,定义于<algorithm>头文件中。用法为reverse(p1,p2)p1为前指针,p2为后指针。

reverse(array,array+a_length) //数组
reverse(str.begin(),str.end()) //string
reverse(v.begin(),v.end()) //vector

明白之后代码就简单多了。

Code:

#include<bits/stdc++.h>
using namespace std;
int cnt=0;
int main(){
    int l,r;
    cin>>l>>r;
    for(int i=l;i<=r;i++){
        string s=to_string(i);
        string ts=s;
        reverse(s.begin(),s.end());
        if(ts==s){
            cnt++;
        }
    }
    cout<<cnt<<endl;
    return 0;
}