[Go]Z字形变换

题目:

 

 

 

 


func convert(s string, numRows int) string {
    n1 := len(s)
    var res string
    if numRows == 1{return s}
    for i:=1;i<=numRows;i++{
        j := i-1
        if i == 1 || i== numRows{
            for{
                if j < n1{
                    res += string(s[j])
                    fmt.Println(string(s[j]))
                    j += 2*(numRows-1)
                }else{
                    break
                }
            }
        }else{
            for{
                if j<n1{
                    res += string(s[j])
                    fmt.Println(string(s[j]))
                    j = j+2*(numRows-i)
                    if j <n1{
                        res += string(s[j])
                        fmt.Println(string(s[j]))
                        j += 2*(i-1)
                    }else{
                        break
                    }
                }else{
                    break
                }
            }
        }
    }
    return res
}

 

posted @ 2020-12-20 21:43  弈虫  阅读(111)  评论(0)    收藏  举报