substr+双指针+测试样例好像有误

字符串变形

http://www.nowcoder.com/practice/c3120c1c1bc44ad986259c0cf0f0b80e

  • 1、转换大小写
  • 2、用『双指针』进行获取结果
  • 吐槽:但是,这个题目的测试样例,似乎默认是一个空格,没有考虑多个空格的情况
class Solution {
public:
    string trans(string s, int n) {
        // write code here
        if( n<=0 )
        {
            return s;
        }
        int loop=n;
        //转换模块
        while( loop-- )
        {
            if( islower( s[loop] ) )
            {
                s[loop]=s[loop]-' ';
            }
            else if( isupper( s[loop] ) )
            {
                s[loop]=s[loop]+' ';
            }

        }

        //双指针
        int Left=n-1;
        int Right=n;
        string res;
        while( Left>=0 )
        {
            //不等于
            if( ' '!=s[Left] )
            {
                --Left;
            }
            else
            {
                if( Right-Left>1 )
                {
                    string temp=s.substr( Left+1, Right-Left-1 );
                    res+=temp;
                }
                Right=Left;
                --Left;
                res+=' ';
            }
        }

        if( Right-Left>1 )
        {
            string temp=s.substr( Left+1, Right-Left-1 );
            res+=temp;
        }
        return res;
    }
};

学习牛油的技巧

// 亦或技巧 字符a ^' ' 则大小写随意切换
c^=' ';
全部评论

相关推荐

10-11 17:30
湖南大学 C++
我已成为0offer的糕手:羡慕
点赞 评论 收藏
分享
11-09 14:54
已编辑
华南农业大学 产品经理
大拿老师:这个简历,连手机号码和照片都没打码,那为什么关键要素求职职位就不写呢? 从上往下看,都没看出自己到底是产品经理的简历,还是电子硬件的简历? 这是一个大问题,当然,更大的问题是实习经历的描述是不对的 不要只是去写实习流程,陈平,怎么去开会?怎么去讨论? 面试问的是你的产品功能点,是怎么设计的?也就是要写项目的亮点,有什么功能?这个功能有什么难处?怎么去解决的? 实习流程大家都一样,没什么优势,也没有提问点,没有提问,你就不得分 另外,你要明确你投的是什么职位,如果投的是产品职位,你的项目经历写的全都是跟产品无关的,那你的简历就没用 你的面试官必然是一个资深的产品经理,他不会去问那些计算机类的编程项目 所以这种四不像的简历,在校招是大忌
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务