王争算法学习打卡

王争算法学习打卡0307-0314

  1.   面试题 01.03. URL化:https://leetcode-cn.com/problems/string-to-url-lcci/
class Solution:
     def replaceSpaces(self, S: str, length: int) -> str:
     if length == 0:
       return 

     s = ""
     temp = S[0: length]

     for i in temp:
       if i == " ":
         s += "%20"
       else:
         s += i
            
     return s 

     2. 1528. 重新排列字符串:https://leetcode-cn.com/problems/shuffle-string/

自己的错误思路 

class Solution {
public:
    string restoreString(string s, vector<int>& indices) {
        
        char temp[indices.size()];
        char res[indices.size()];

        strcpy(temp, s.c_str());
        for(int i = 0; i < indices.size(); i++){
            res[indices[i]] = temp[i];
        }
        return res;
    }
};

正确答案

class Solution {
public:
    string restoreString(string s, vector<int>& indices) {
        
        int len = s.length();
        string res(len, 0);

        for(int i = 0; i < len; i++){
            res[indices[i]] = s[i];
        }
        return res;
    }
};

本题思路其实是一样的,只不过正确答案直接在string上操作,没有多余的转换,并且把s的大小直接给了一个常数,方便后续操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值