leetcode-翻轉數組-344

/** <p>編寫一個函數,其作用是將輸入的字符串反轉過來。輸入字符串以字符數組 <code>s</code> 的形式給出。</p> <p>不要給另外的數組分配額外的空間,你必須<strong><a href="https://baike.baidu.com/item/原地算法" target="_blank">原地</a>修改輸入數組</strong>、使用 O(1) 的額外空間解決這一問題。</p> <p>&nbsp;</p> <p><strong>示例 1:</strong></p> <pre> <strong>輸入:</strong>s = ["h","e","l","l","o"] <strong>輸出:</strong>["o","l","l","e","h"] </pre> <p><strong>示例 2:</strong></p> <pre> <strong>輸入:</strong>s = ["H","a","n","n","a","h"] <strong>輸出:</strong>["h","a","n","n","a","H"]</pre> <p>&nbsp;</p> <p><strong>提示:</strong></p> <ul> <li><code>1 &lt;= s.length &lt;= 10<sup>5</sup></code></li> <li><code>s[i]</code> 都是 <a href="https://baike.baidu.com/item/ASCII" target="_blank">ASCII</a> 碼錶中的可打印字符</li> </ul> <div><div>Related Topics</div><div><li>遞歸</li><li>雙指針</li><li>字符串</li></div></div><br><div><li>👍 640</li><li>👎 0</li></div> */ //leetcode submit region begin(Prohibit modification and deletion) class Solution { public void reverseString(char[] s) { int n = s.length; if(n<2){ return ; } reverse(s,0,n-1); } void reverse(char[] nums, int start, int end) { char temp; while (start < end) { temp = nums[start]; nums[start] = nums[end]; nums[end] = temp; start++; end--; } } } //leetcode submit region end(Prohibit modification and deletion)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章