desc.html 1.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
<div class="notranslate">
    <p>将一个给定字符串 <code>s</code> 根据给定的行数 <code>numRows</code> ,以从上往下、从左到右进行&nbsp;Z 字形排列。</p>

    <p>比如输入字符串为 <code>"PAYPALISHIRING"</code>&nbsp;行数为 <code>3</code> 时,排列如下:</p>

    <pre>
    P   A   H   N
    A P L S I I G
    Y   I   R</pre>

    <p>之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:<code>"PAHNAPLSIIGYIR"</code></p>

    <p>请你实现这个将字符串进行指定行数变换的函数:</p>

    <pre>string convert(string s, int numRows);</pre>

    <p>&nbsp;</p>

    <p><strong>示例 1:</strong></p>

    <pre><strong>输入:</strong>s = "PAYPALISHIRING", numRows = 3
<strong><br />输出:</strong>"PAHNAPLSIIGYIR"
</pre>
    <strong>示例 2:</strong>

    <pre><strong>输入:</strong>s = "PAYPALISHIRING", numRows = 4
<strong><br />输出:</strong>"PINALSIGYAHRPI"
<strong><br />解释:</strong>
P     I    N
A   L S  I G
Y A   H R
P     I
</pre>

    <p><strong>示例 3:</strong></p>

    <pre><strong>输入:</strong>s = "A", numRows = 1
<strong><br />输出:</strong>"A"
</pre>

    <p>&nbsp;</p>

    <p><strong>提示:</strong></p>

    <ul>
        <li><code>1 &lt;= s.length &lt;= 1000</code></li>
        <li><code>s</code> 由英文字母(小写和大写)、<code>','</code><code>'.'</code> 组成</li>
        <li><code>1 &lt;= numRows &lt;= 1000</code></li>
    </ul>
</div>