ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LeetCode——Z 字形变换

2020-07-08 17:36:19  阅读:276  来源: 互联网

标签:numRows 字形 map 变换 char int returnS strlen LeetCode


题目地址: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;
}

 

标签:numRows,字形,map,变换,char,int,returnS,strlen,LeetCode
来源: https://www.cnblogs.com/cc-xiao5/p/13268213.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有