

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <iostream>
using namespace std;
bool dx(string s) {
for (int i=0; i<s.size(); i++) if (s[i]!=s[s.size()-i-1]) return false;
return true;
}
int main() {
string s;
cin >> s;
while (s[s.size()-1]=='0') s.pop_back();
if (dx(s)) cout << "YES";
else cout << "NO";
}
Hãy giúp mọi người biết câu trả lời này thế nào?

Số đối xứng là số mà đọc từ trái sang phải hay đọc từ phải sang trái có giá trị như nhau.
Mà ta chỉ có lựa chọn là thêm các chữ số `0`, vậy giả sử cả đầu và cuối đều không có số `0` (giả sử ta đã thêm vào để lượng số `0` ở đầu bằng lượng số `0` ở cuối) ta cần đảm bảo số đó vẫn đối xứng.
$\\$
$\color{green}{\texttt{C}}\color{lightgreen}{\texttt{+}}\color{lightgreen}{\texttt{+}}$
#include <iostream>
#include <algorithm>
#define all(x) x.begin(), x.end()
#define rev(x) [](string s){reverse(all(s)); return s;}(x)
using namespace std;
int main() {
string s; cin >> s;
for (int i=s.size()-1; s[i]=='0' && i>=0; --i) s.pop_back();
if (s == rev(s)) cout << "Yes";
else cout << "No";
}
$\\$
\begin{array}{c|c|c}\color{#ffd710}{\texttt{\{}} \color{#8655d6}{\texttt{\{}}\ \ \color{#8cdcda}{\text{Daoanhviet96}}\ \ \color{#8655d6}{\texttt{\}}} \color{#ffd710}{\texttt{\}}}\end{array}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
6
-18
3
ban newborn oi co the thay s.pop_back() = cai khac dc k
4327
2546
1958
cái này mình chịu, pop_back là xóa ký tự cuối của xâu
6
-18
3
ò tks bạn