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;
        }
    };
  • 相关阅读:
    zookeeper 介绍
    多线程、并发及线程的基础问题
    RabbitMQ
    关于JAVA IO流的学习
    SQL 的基本常识
    What is Bt?
    Python turtle库的学习笔记
    字符串简单模式匹配算法与IndexOf方法比较
    谈如何选书
    使用JavaScriptSerializer进行序列化日期类型应该注意的问题
  • 原文地址:https://www.cnblogs.com/grandyang/p/5434692.html
Copyright © 2011-2022 走看看