首页 > 其他 > 详细

[LintCode] Left Pad 左填充

时间:2016-04-26 13:56:37      阅读:256      评论:0      收藏:0      [点我收藏+]

 

You know what, left pad is javascript package and referenced by React:
Github link

One day his author unpublished it, then a lot of javascript projects in the world broken.

You can see from github it‘s only 11 lines.

You job is to implement the left pad function. If you do not know what left pad does, see examples below and guess.

Example
leftpad("foo", 5)
>> " foo"

leftpad("foobar", 6)
>> "foobar"

leftpad("1", 2, "0")
>> "01"

 

这道题让我们实现左填充,具体做法参见上面的例子,需要注意的是,如果给定的大小比原字符串的长度小的话,返回原字符串,即不做任何处理,如果大的话,再前面填充二者之差个给定的字符,那么可以写出代码如下:

 

解法一:

class StringUtils {
public:
    static string leftPad(string& originalStr, int size, char padChar= ) {
        if (size <= originalStr.size()) return originalStr;
        return string(size - originalStr.size(), padChar) + originalStr;
    }
};

 

我们也可以压缩到一行直接写出来:

 

解法二:

class StringUtils {
public:
    static string leftPad(string& originalStr, int size, char padChar= ) {
        return size <= originalStr.size() ? originalStr : string(size - originalStr.size(), padChar) + originalStr;
    }
};

 

[LintCode] Left Pad 左填充

原文:http://www.cnblogs.com/grandyang/p/5434692.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!