
//
// Created by wxj05 on 2024/7/22.
//
class Solution {
public:
bool isPalindrome(string s) {
string a;
for(int i=0;i<s.size();i++){
if(isalnum(s[i])){
a+=tolower(s[i]);
}
}
int i=0,j=a.size()-1;
while(i<=j){
if(a[i]!=a[j]){
return false;
}
i++;
j--;
}
return true;
}
};string a; 定义了一个空字符串 a,用于存储处理后的字符串。for 循环遍历输入的字符串 s,通过 isalnum(s[i]) 判断字符是否为字母或数字,如果是则将其转换为小写并追加到字符串 a 的末尾。i 和 j,分别初始化为字符串 a 的首尾索引。while 循环进行回文检测,条件是 i 小于等于 j。a[i] 不等于 a[j],则返回 false,表示不是回文。i 和 j。i > j,则返回 true,表示字符串 s 是回文。tolower() 函数将字符转换为小写进行比较。//
// Created by wxj05 on 2024/7/22.
//
class Solution {
public:
int singleNumber(vector<int>& nums) {
for(int i=0;i<nums.size();i++){
int a = count(nums.begin(),nums.end(),nums[i]);
if(a==1) return nums[i];
}
return 0;
}
};for 循环遍历整数数组 nums。count() 函数计算数组中当前元素 nums[i] 的出现次数,并将结果赋给变量 a。a 等于 1,表示当前元素 nums[i] 只出现了一次,那么就返回这个元素 nums[i]。count() 函数来统计数组中特定元素的出现次数,然后根据计数结果进行判断。count() 函数,这会导致多次遍历数组。//
// Created by wxj05 on 2024/7/22.
//
class Solution {
public:
string convertToTitle(int columnNumber) {
vector<string>arr={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
string zm="";
int count;
while(columnNumber>0){
columnNumber--;
count=(columnNumber%26);
zm+=arr[count];
columnNumber/=26;
}
reverse(zm.begin(),zm.end());
return zm;
}
};arr 是一个包含26个大写字母的字符串向量,用于表示Excel表格的列标题。zm 是一个空字符串,用于存储转换后的列标题。count 是一个整数变量,用于临时存储每次取模后的结果。while 循环中,首先将 columnNumber 减去 1,然后取 columnNumber 对 26 取模,得到的结果是当前位上的字母在 arr 中的索引。zm 字符串末尾。columnNumber 除以 26,继续处理下一位。columnNumber 不大于 0。reverse() 函数将 zm 字符串反转,确保得到正确的Excel表格列标题顺序。zm 中的最终结果,即转换后的Excel表格列标题。columnNumber 转换为相应Excel表格列标题的功能,遵循Excel列标题的表示规则。columnNumber 时,每次循环前先将其减去 1,是为了确保从 1 开始的Excel列索引正确转换。