写算法用库方法

比如我用js写空格替换的功能, 用到了split()、join(),这种库方法,符合算法规则嘛?还是只能通过操作指针实现算法。
function replaceSpace(str)
{
    // write code here
    if(str == null) {
        return;
    }
    var len = str.length;
    var numberOfBlank = 0;
    var i = 0;
    while(i < len) {
        if(str[i]==' ') {
            ++numberOfBlank;
        } 
        ++ i;
    }
    // 把空格替换成'%20'之后的长度
    var newLength = len + numberOfBlank * 2;
    var indexOfOriginal = len;
    var indexOfNew = newLength;
    str = str.split('');
    while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal) {
        if(str[indexOfOriginal] == ' ') {
            str[indexOfNew --] = '0';
            str[indexOfNew --] = '2';
            str[indexOfNew --] = '%';
        } else {
            str[indexOfNew --] = str[indexOfOriginal];
        }
        -- indexOfOriginal;
    }
    return str.join('');
}


#算法工程师#
全部评论
面试肯定不行,笔试怎么简单怎么来😊
点赞 回复
分享
发布于 2019-09-17 14:39

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务