2021-03-09 力扣 Day1 面试01.03 URL化 and 1528 重排字符串

Day1 

面试01.03

//C 代码 本机编译过,但力扣编译不过
char* replaceSpaces(char* S, int length){
    if(length <= 0 || length > 500000) {
       return "";
    }

    char* tmp = (char*)malloc(sizeof(char)*length+1);
    char* value = (char*)malloc(sizeof(char));
    memset(tmp,'\0',sizeof(char)*length+1);
    for(int i = 0; i < length&&*(S+i)!='\0'; i++){
        if(S[i] == ' ') {
          strcat(tmp,"%20");
        }else{
          value[0] = *(S+i);
          strcat(tmp,value);
        }
    }
    return tmp;
}
//C++
class Solution {
public:
    string replaceSpaces(string S, int length)
    {
        string tmp = "";
        if (length <= 0 || length > 500000) {
            return tmp;
        }
        for (int i = 0; i < length; ++i) {
            if (S[i] == ' ') {
                tmp += "%20";
            } else {
                tmp += S[i];
            }
        }
        return tmp;
    }
};

1528重排字符串

//C++ 
class Solution {
public:
    string restoreString(string s, vector<int>& indices) {
        if(sizeof(s) == 0 || indices.size() == 0)
            return NULL;

        string dest = s;
        for(int i = 0; i < indices.size(); ++i)
        {
           dest[indices[i]] = s[i]; 
        }
        return dest;
    }
};

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值