6Z字形變換

題目


思路
1.文字轉(zhuǎn)換有固定規(guī)則
2.在長(zhǎng)度內(nèi)有序取數(shù)
代碼

char* convert(char* s, int numRows) {
    
    int len = 0, gap = 0, i = 0, j = 0, index = 0, next_j = 0;
    char *ret_s = NULL;
    
    if (NULL == s)
    {
        return NULL;
    }
    
    if (numRows < 2)
    {
        return s;
    }
    
    len = strlen(s);
    gap = numRows*2 - 2;//1個(gè)循環(huán)體間隔Z去掉最后一橫的部分,也是每一排除掉中間部分的間隔位
    
    /*
     
     numRows = 3
     
     0   4   8
     1 3 5 7 9
     2   6
     
     */
    
    ret_s = malloc(len + 1);
    memset(ret_s, 0, len);
    
    for (i = 0; i < numRows; i++)
    {
        for (j = i; j < len; j += gap)
        {
            ret_s[index] = s[j];//間隔添加數(shù)據(jù)04815926
            index++;
            next_j = j + gap - i * 2;
            
            if (i != 0 && i != (numRows - 1) && next_j < len)//去掉第1排與最后排(無(wú)特殊數(shù)據(jù))
            {
                ret_s[index] = s[next_j];//添加特殊數(shù)據(jù)37
                index++;
            }
        }
    }
    
    ret_s[len] = '\0';
    
    return ret_s;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語(yǔ)法 2.1 概述 基本句法和變量 語(yǔ)句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,619評(píng)論 0 13
  • 2017-04-07首次IPO募集19.7億,本次可轉(zhuǎn)債募集21.53億。 摘自浩渺的星空:4月26日新鳳轉(zhuǎn)債發(fā)行...
    周益軍閱讀 739評(píng)論 0 0
  • 難得一次四人結(jié)伴培訓(xùn),好開(kāi)心!白天的時(shí)間培訓(xùn)日程滿滿,晚上利用閑暇時(shí)間兜兜轉(zhuǎn)轉(zhuǎn),陌生的城市啊!也有曾經(jīng)熟悉的...
    00的角落閱讀 319評(píng)論 0 0
  • 【我在悅讀】-木木 【書(shū)名】:《說(shuō)話的魅力》 【作者】:劉墉 【篇目】:教你幽默到心田(13-14章) 【收獲】 ...
    木木_cd40閱讀 187評(píng)論 0 0
  • 這個(gè)命題是正確的嗎?大家有什么樣的看法?
    jpleo閱讀 109評(píng)論 0 0

友情鏈接更多精彩內(nèi)容