leetcode-翻转数组-344
/**
<p>编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 <code>s</code> 的形式给出。</p>
<p>不要给另外的数组分配额外的空间,你必须<strong><a href="https://baike.baidu.com/item/原地算法" target="_blank">原地</a>修改输入数组</strong>、使用 O(1) 的额外空间解决这一问题。</p>
<p> </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> </p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 <= s.length <= 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)
不恋尘世浮华,不写红尘纷扰