zoukankan      html  css  js  c++  java
  • [LintCode] Left Pad 左填充

    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;
        }
    };
  • 相关阅读:
    提前期分类
    物料属性,MRP/MPS属性
    ASP.NET刷新页面的一些方法
    Nothing 和 Is
    三层架构与MVC
    ADO.NET
    软件工程之数据流程图(DFD Data Flow Diagram)
    VB.NET小结
    推荐开发人员看的具有影响力的书籍
    C++考试
  • 原文地址:https://www.cnblogs.com/grandyang/p/5434692.html
Copyright © 2011-2022 走看看