swap(str1,str2); //或者str1.swap(str2)
swap(str1[0],str1[1]); // 交换str1的[0]和[1]
很全:
一、初始化
二、获取长度(length、size)
三、插入(insert)
四、替换(replace)
五、添加(append)
六、赋值(assign)
七、删除(erase)
八、剪切(substr)
九、比较(compare)
十、交换(swap)
十一、反转(reverse)
十二、数值转化(sto*)
十三、迭代器(iterator)
十四、查找(find)
C++ string用法_c++string的操作_wangpenghnu的博客-CSDN博客
- class Solution {
- public:
- /**
- * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
- *
- *
- * @param str string字符串
- * @return string字符串vector
- */
- void fun(vector
&res, string &str, int index) { - if(index == str.size() - 1){
- res.push_back(str);
- return;
- }
- for(int i = index; i < str.size(); i++){
- swap(str[i], str[index]);
- fun(res, str, index+1); //粗心写成fun(res, str, i)
- swap(str[i], str[index]);
- }
- }
- vector
Permutation(string str) { - // write code here
- vector
res; - fun(res, str, 0);
- set
s(res.begin(),res.end()) ; - res.assign(s.begin(), s.end());
- return res;
- }
- };
和这篇一样。
【打卡】牛客网:BM56 有重复项数字的全排列-CSDN博客