整理leetcode刷题过程中遇到的常用库函数(c++)
如果有额外的了解需求,可以在微软c++库函数进行了解
以下按照我理解的刷题顺序整理:
数组
数组是刷题的开始,常用的库函数也很简单:
1、在数组的最开始插入一个元素,如数字 1
nums.insert(nums.begin(),1);
nums.begin();//nums[0]
2、表示最后一个元素的后一个元素
nums.end();
3、获得数组的长度
nums.size();
4、重设数组大小
nums.resize(100); // 此时里面所有元素为 0
cout<<nums.size()<<endl;
for(int item:nums)
cout<<item; // 输出全是0
5、排序从小到大
sort(nums.begin(),nums.end());
6、翻转数组
// 注意下面这个函数是将整个数组翻转,不是排序
// 如果要从大到小排序,需要自定义排序规则
reverse(nums1.begin(),nums1.end());
字符串
构造
//构造
string s="123";
char *a="123";
string s = a;
1、翻转字符串
// result is string
reverse(result.begin(),result.end())
2、截取字符串
str.substr(start_index,len)
3、获得字符串的长度
s.length();
4、字符串扩容
string s(len);
s.resize(len+len2);
5、字符串初始化
//s="00...00",初始化为n个0
string s(n,'0');
6、字符串比较函数
int strcmp(string str1,string str2) //区分字符串中字母大小写地比较
int strcasecmp(string str1,string str2) //忽略字符串中字母大小写地比较
//str1=str2时,返回0;str1>str时返回1;str1<str2时返回-1。
7、查找
//查找
a.find("12");//返回字串第一个字符的下标,如果没有找到,返回string::npos
8、替换
//char *a="123";
//替换
a.replace(1,2,"ab"); //ab3
9、擦除
//char *a="123";
//删除子串
a.erase(1,2); //3
10、转化
//转成char *
a