左填充

来源:互联网 发布:单片机原理及应用张鑫 编辑:程序博客网 时间:2024/04/25 02:33

左填充
题目要求:

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;}
0 0