C++刷题中 那些奇奇怪怪 可可爱爱的函数

本文探讨了字符串操作中的substr和to_string技巧,如何通过原地修改扩充字符串,以及数组的前后补零和自定义排序函数。实例涵盖了字符串长度调整、数字转字符串和数组操作的实用场景,适合前端、后端开发者阅读。

字符串

字符串变长

适用于原地修改字符串的情形,多结合双指针从后往前进行移动和修改,进而降低空间复杂度

s.resize(s.size()+extrasize);

可参考题目:
剑指offer 05. 替换空格
举一反三:
填充类题目,都可以考虑原地扩充大小然后双指针从后往前操作。

substr的使用

s.substr(startidx, length);

to_string()函数

将数字转换为字符串

int x = 2022;
string s = to_string(x);

数组

数组前后补零

vector<int> nums;
...
nums.insert(nums.begin(), 0);
nums.push_back(0);

数组初始化

int nums[101] = {0};
vector<vector<int>> nums(2, vector<int> (2, 0));

排序

自定义比较函数

	//一维数组
	static bool cmp(int a, int b){
		return a>b;
	}
	//二维数组
    static bool cmp(vector<int>& n, vector<int>& m){
        if(n[0] == m[0]) return n[1] < m[1];
        return n[0] > m[0];
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值