首页 > 其他 > 详细

LeetCode——Z 字形变换

时间:2020-07-08 19:52:24      阅读:53      评论:0      收藏:0      [点我收藏+]

题目地址:https://leetcode-cn.com/problems/zigzag-conversion/

解题思路:简单暴力求解

char * convert(char * s, int numRows) {
    char map[1005][1005];
    memset(map, 0, sizeof(map));
    /*
    * i:变换后的列下标
    * j:变换后的行下标
    * k:字符串下标
    */
    int i, j, k;
    char *returnS = (char *)malloc(sizeof(char)*((int)strlen(s) + 1));
    k = 0;
    i = 0;
    //空字符情况
    if (strlen(s) == 0) {
        returnS[k] = \0;
        return returnS;
    }
    //行数为一行的情况
    if (numRows == 1)
        return s;
    while (k < strlen(s)) {
        for (j = 0; j < numRows && k <strlen(s); j++)
            map[j][i] = s[k++];
        for (int x = 1; x <= numRows - 2 && k < strlen(s); x++) 
            map[numRows - x - 1][i + x] = s[k++];
        i += numRows - 1;
    }
    k = 0;
    for (i = 0; i < numRows; i++)
        for (j = 0; j < strlen(s); j++)
            if (map[i][j] != \0)
                returnS[k++] = map[i][j];
    returnS[k] = \0;
    return returnS;
}

 

LeetCode——Z 字形变换

原文:https://www.cnblogs.com/cc-xiao5/p/13268213.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!