leetcode6 zigzagConversion

来源:互联网 发布:华南师范网络教育骗局 编辑:程序博客网 时间:2024/05/14 14:51


题意:一个字符串按照斜三角方式变换

比如ABCDEFGHIJKLMNOPQR,按4行变换,则变成

A           G             M

B      F  H       L    N           R

C   E     I   K         O     Q

D          J               P

变换完之后再横向取字符串,即变成了AGMBFHLNRCEIKOQDJP


思路:

按照上面的例子,弄string数组str[4],一个string对应一行

从原串的第一个开始遍历,其字符所在行(row)从0变到3,接着又从3变到0

所以每次按照字符所在行,添加到对应行的string中

最后再把4个string合起来即可


PS:注意考虑只有一行的情况,那么row在遍历过程中不需要进行变化!




class Solution {public:string convert(string s, int numRows) {        string *str;        int now_row=0,flag=0,i,len;        str=new string[numRows];        len=s.length();        for(i=0;i<len;i++)        {            str[now_row]+=s[i];if(numRows!=1){if(flag==0)now_row++;else now_row--;            if(now_row==0)flag=0;else if(now_row==numRows-1)flag=1;}        }        for(i=1;i<numRows;i++)            str[0]+=str[i];        return str[0];    }};


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电话本突然丢了怎么办 去香港一天流量怎么办 华为声音没了怎么办 手机usb连不上电脑怎么办 华为说话声音小怎么办 手机帧率不稳定怎么办? 施华洛世奇项链折了怎么办 香港买首饰过关怎么办 香港花旗参被骗怎么办 香港过关珠宝盒怎么办 香港psn注册不起怎么办 魅族手机单声道怎么办 m1note屏幕反了怎么办 桌面推荐删了怎么办 vr一体机卡死了怎么办 荣耀10费电怎么办 魅蓝s6吃鸡卡顿怎么办 农村网络信号差怎么办 手机点击不明链接怎么办 华为手机wifi慢怎么办 浏览器打不开显示内存不足怎么办 华为电脑黑屏了怎么办 华为电脑关不了怎么办 xp系统不能上网怎么办 华为手机激活码怎么办 华为系统删了怎么办 来电响铃时间短怎么办 华为p10刚开机怎么办 盒子支付不到账怎么办 小米5x录完音乱怎么办 华为返回键失灵怎么办 手机退出键失灵怎么办 公司座机被骚扰怎么办 手机号被拦截了怎么办 收不到话费短信怎么办 移动信息收不到怎么办 电话被拦截了怎么办 华为屏幕有广告怎么办 手机屏幕突然出广告怎么办? 电脑中病毒网络怎么办 手机被短信轰炸怎么办