OJ lintcode 左填充

作者: DayDayUpppppp | 来源:发表于2017-02-19 19:55 被阅读9次

    实现一个leftpad库,如果不知道什么是leftpad可以看样例
    您在真实的面试中是否遇到过这个题?
    Yes
    样例
    leftpad("foo", 5)

    " foo"

    leftpad("foobar", 6)

    "foobar"

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

    "01"

    class StringUtils {
    public:
        /**
         * @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 string leftPad(string& originalStr, int size, char padChar=' ') {
            // Write your code here
            //这道题的意思是 给originalStr 填充,填充的内容是第三个参数,
            //第三个参数 的默认值是控制符
            
            if(originalStr.length()<size){
                string newstr(originalStr.rbegin(),originalStr.rend());
    
                int diff=size-newstr.length();
                for(int i=0;i<diff;i++){
                    newstr.push_back(padChar);
                }
                string retstr(newstr.rbegin(),newstr.rend());
                return retstr;
            }
    
            return originalStr;
    
        
    
        }
    };
    

    相关文章

      网友评论

        本文标题:OJ lintcode 左填充

        本文链接:https://www.haomeiwen.com/subject/uwijwttx.html