华为机试准备笔记
前言
十天后参加华为机考,从今天开始正式学习,学习的顺序是按照知识点来决定的,每个大知识点刷几道题,然后总结,下面先从字符串开始
字符串
string s;
getline(cin,s);//以回车为结尾的字符串,允许字符串包含空格
string::reverse_iterator it=s.rbegin(); //逆序迭代器,适合反向输出。
reverse(s.begin(),s.end()); //逆序,需要头文件algorithm
最长子字符串
最长子序列
算数表达式(待更新)
int a=stoi(s) //数字字符串转数字
string s=to_string(i) //数字转字符串
//数字栈和符号栈的运算
void compute(stack<int> &st1,stack<char>&st2){
int b=st1.top();st1.pop();
int a=st1.top();st1.pop();
char op=st2.top(); st2.pop();
if(op=='+') a=a+b;
//......
st1.push(a);
}
按进制输入输出
int i;
cin>>hex>>i;//按十六进制输入
cout<<hex>>i;//按十六进制输出
单词按字母排序
sort(vec.begin(),vec.end());//默认从小到大排序