lintcode: 左填充

时间:2023-03-09 15:59:46
lintcode: 左填充
题目

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


样例
leftpad("foo", 5)
>> " foo" leftpad("foobar", 6)
>> "foobar" leftpad("1", 2, "0")
>> "01"
解题
public class StringUtils {
/**
* @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) {
// Write your code here
int n = originalStr.length();
if(n>=size)
return originalStr;
int k = size - n;
StringBuffer newStr = new StringBuffer();
while(k>=1){
newStr.append(' ');
k--;
}
newStr.append(originalStr);
return newStr.toString();
} /**
* @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) {
// Write your code here
int n = originalStr.length();
if(n>=size)
return originalStr;
int k = size - n;
StringBuffer newStr = new StringBuffer();
while(k>=1){
newStr.append(padChar);
k--;
}
newStr.append(originalStr);
return newStr.toString();
}
}