给出来 Python 代码: #include <bits/stdc++.h> using namespace std; int main() { int t; cin >> t; while(t--) { string s; cin >> s; int n = s.size(); set<char> st; if (n % 2) { for (int i = 0; i < n / 2; ++i) { st.insert(s[i]); } } else { for (int i = 0; i < n / 2 + 1; ++i) { st.insert(s[i]); } } cout << (st.size() != 1 ? "YES": "NO") << "\n"; } return 0; }
时间: 2024-01-13 16:04:59 浏览: 74
C++万能头: bits/stdc++.h 下载
这段代码是 C++ 的,不是 Python 的,它实现了一个题目的解法。该题目是给定一个字符串,判断它能否通过删除一个字符后变为回文串。给定的代码中,使用了 set 容器来记录字符串中不同的字符,然后根据字符串长度是偶数还是奇数的不同情况,统计了需要考虑的字符数量。最后,判断不同字符的数量是否为 1,即可判断该字符串是否能够通过删除一个字符变为回文串。
以下是 Python 版本的代码:
```python
t = int(input())
for _ in range(t):
s = input().strip()
n = len(s)
st = set(s[:n//2] if n % 2 else s[:n//2+1])
print("YES" if len(st) != 1 else "NO")
```
这段代码与 C++ 版本实现的思路基本相同,使用了 Python 中的 set 容器来记录字符串中不同的字符,然后根据字符串长度的奇偶性,统计需要考虑的字符数量。最后,判断不同字符的数量是否为 1,即可判断该字符串是否能够通过删除一个字符变为回文串。
阅读全文