左填充

左填充
题目要求:

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

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

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

分析:
用单个字符来填充给定字符串,使其达到输入当中的size要求。由于题目中给的条件和描述都很模糊,所以这道题在lintcode上做出来的人很少,其实看懂题目的意思,这道题也就很好做了。

算法分析:
step1: 判断输入字符串的长度和要求的size,计算出他们的差值
step2:差值为多少,就输出一个差值大小的字符串,其中字符串的内容是有待插字符构成
step3:将第二步的字符串和源字符串拼接得到结果。
static string leftPad(string& originalStr,int size,char padChar = '')
{
    int len = originalStr.size();
    if (size < len)
    {
        return originalStr;
    }
    int k = size - len;
    string tmp("");
    while (k >= 1)
    {
        tmp += padChar;
        k--;
    }
    string result = tmp + originalStr;
    return result;
}
点赞