栈的应用场景-string使用方式
链接: 1047. 删除字符串中的所有相邻重复项
// An highlighted block
class Solution {
public:
string removeDuplicates(string s) {
string stk;
for(char c:s){
if(stk.empty()||c!=stk.back()){
stk.push_back(c);
}else{
stk.pop_back();
}
}
return stk;
}
};
string:
#include
链接: C++ string基本用法
string官方文档
初始化
-length() 函数-size()函数 没啥区别。
转换为C风格的字符串(.c_str()函数)-
string 字符串的输入输出-
用下标访问字符串中的字符 operator[];at();//at能检查边界
-字符串拼接(重载+)
-增删 改 查:string& insert (size_t pos, const string& str);string& erase (size_t pos = 0, size_t len = npos);replace(起始位置,长度,‘输入字符’);find()、rfind()、find_first_of() 函数用于查找子字符串和字符串共同具有的字符在字符串中首次出现的位置
提取string substr (size_t pos = 0, size_t len = npos) const;
front()/back()-返回首字符/最后一个字符
关于队列和栈的详解:栈与队列
掌握栈的特点, 函数,以及作为容器适配器的使用方式(各个容器、string都可以使用栈)。
用于存储元素的底层容器类型。容器必须满足序列容器 (SequenceContainer) 的要求。另外,它必须提供拥有通常语义的下列函数:
back()
push_back()
pop_back()
即容器和string可以使用以上函数对栈进行操作,back()----top() push_back()—push() pop_back()—pop();