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

本文转自博客园Grandyang的博客,原文链接:左填充[LintCode] Left Pad ,如需转载请自行联系原博主。

相关文章
|
3月前
|
C++ Python
leetcode-513:找树左下角的值
leetcode-513:找树左下角的值
20 0
|
30天前
|
算法
二分查找及模板深度解析:right <= left 还是 right < left ? mid=left+(right-left)/2还是mid=left+(right-left +1 )/2 ?
二分查找及模板深度解析:right <= left 还是 right < left ? mid=left+(right-left)/2还是mid=left+(right-left +1 )/2 ?
28 0
|
5月前
|
存储 编解码 算法
高度优先左高树(Height-Based Left-Triangle,
高度优先左高树(Height-Based Left-Triangle,简称HBLT)是一种用于压缩图像和图形数据的算法。它通过将图像或图形分割成三角形,并对这些三角形进行编码和存储,从而实现压缩。这种方法可以在保持视觉质量的同时,有效地减小文件大小。
57 4
|
10月前
|
算法 安全 Swift
LeetCode - #31 下一个排列 (Top 100)
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。
|
10月前
|
算法 安全 Swift
LeetCode - #56 合并区间(Top 100)
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。
|
10月前
|
算法 安全 Swift
LeetCode - #22 括号生成(Top 100)
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。
|
10月前
|
算法 安全 Swift
LeetCode - #15 三数之和(Top 100)
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。
|
11月前
|
算法
LeetCode每日1题--左叶子之和
LeetCode每日1题--左叶子之和
66 0
|
存储 Python
LeetCode 513. 找树左下角的值
给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。
32 0
|
前端开发 JavaScript 开发者
L1-032 Left-pad (20 分)
L1-032 Left-pad (20 分)
72 0