c++中读取一整行数据时,可以采用String类库中的getline 函数 具体使用 getline(cin,str),这样读入的数据就是包含输入的空格,方便后续的操作。
以下这一点代码,可以将输入的字符按空格分割放入栈中
stack<string> stk;
string str = " ";
getline(cin, str);
string temp = "";
for (size_t i = 0; i <= str.length(); i++)
{
if (str[i] == ' ' || str[i] == '\0') {
stk.push(temp);
temp = "";
continue;
}
temp += str[i];
}
下面这一点代码可以判断是否时回文序列
bool JudgeRe(string s)
{
int n = s.length();
for (int i = 0; i < n / 2; i++){
if (s[i] != s[n - i - 1])return false;
}
return true;
}
在进行数组的初始化的时候,可以将所有的值全部初始化为 0x3f 这样可以保证在之后的操作过程中,数组的值不会溢出。
1 << n - 2^n
n >> x - n / 2^x