LintCode - 左填充(普通)

版权声明:本文为博主原创文章,未经博主允许不得转载。

难度:容易
要求:

实现一个leftpad库,如果不知道什么是leftpad可以看样例

样例

leftpad("foo", 5)       >> "  foo"
leftpad("foobar", 6)    >> "foobar"
leftpad("1", 2, "0")    >> "01"

思路
暂时想到这种,还有占用空间更小的方法

/**
     * @param originalStr the string we want to append to with spaces
     * @param size the target length of the string
     * @return a string
     */
    static public String leftPad(String originalStr, int size) {
        return leftPad(originalStr, size, ' ');
    }

    /**
     * @param originalStr the string we want to append to
     * @param size the target length of the string
     * @param padChar the character to pad to the left side of the string
     * @return a string
     */
    static public String leftPad(String originalStr, int size, char padChar) {
        StringBuilder s = new StringBuilder();
        for(int i = 0; i < size - originalStr.length(); i++){
            s.append(padChar);
        }
        s.append(originalStr);
        return s.toString();
    }

你可能感兴趣的:(LintCode - 左填充(普通))