利用 %20 替换 空格

将字符串中的空格都替换为 %20 ( 时间复杂度为O(N)的解法 )

void ReplaceBlankSpace(char* arr)
    {
        if (arr)
        {
            int count = 0;
            int lenth = strlen(arr);
            for (int i = 0; i < lenth;++i)
            if (arr[i] == ' ')
                count++;
            char*before = arr+lenth, *behind = arr+lenth+2*count;
            while (before != behind)
            {
                if (*before != ' ')
                {
                    *behind-- = *before--;
                }                
                else
                {
                    *behind-- = '0';
                    *behind-- = '2';
                    *behind-- = '%';
                    before--;
                }
            }
        }
    }
替换空格

 

合并有序数组( 时间复杂为O(N),空间复杂度为O(1)的解法)

void ArrayMerage(vector<int>& Vector1, vector<int>& Vector2)
    {
        int index_1_before = Vector1.size() - 1, index_2 = Vector2.size() - 1;
        int sum = Vector1.size() + Vector2.size();
        int index_1_behind = sum - 1;
        Vector1.resize(sum);
        while (index_2 >= 0 && index_1_before >= 0)

            Vector1[index_1_behind--] = Vector1[index_1_before] > Vector2[index_2] ? \
            Vector1[index_1_before--] : Vector2[index_2--];
        while (index_2 >= 0)
            Vector1[index_1_behind--] = Vector2[index_2--];
    }
合并数组

 

转载于:https://www.cnblogs.com/shihaochangeworld/p/5644907.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值