腾讯面试题目

char* replace(const char* orginal, 
            const char* sub,
            const char* replace);
            /**
            orginal="abcabc1234"
            sub="ab",
            replace="xyz"
            将orginal中出现sub串替换为replace串
            上面例子返回:“xyzcxyzc1234"
            */

#腾讯#
全部评论
已经二面了吗。。。******的
点赞 回复 分享
发布于 2015-08-13 21:08
string replace(const string& str, const string& sub, const string repstr){ string tmp; string::size_type len1 = sub.size(); string::size_type pre = 0; string::size_type pos = 0; while ((pos = str.find(sub, pos)) != string::npos){ //寻找下一个sub串的起始位置 tmp += str.substr(pre, pos - pre);//求字串 tmp += repstr; pos += len1; pre = pos; } tmp += str.substr(pre, str.size() - pre); return tmp; } 自己来贴个回答。面试官也说了可以用c++标准库。
点赞 回复 分享
发布于 2015-08-14 10:31
这么简单吗? 直接split再用给的replace拼起来就好了
点赞 回复 分享
发布于 2015-08-14 11:07

相关推荐

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