LeetCode--344.反转字符串(字符串/双指针法)
344.反转字符串题目描述编写一个函数其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间你必须**原地修改输入数组**、使用 O(1) 的额外空间解决这一问题。示例 1输入s [h,e,l,l,o] 输出[o,l,l,e,h]示例 2输入s [H,a,n,n,a,h] 输出[h,a,n,n,a,H]提示1 s.length 105s[i]都是 ASCII 码表中的可打印字符解题思路在这里可以使用异或XOR来实现不创建临时变量的交换方法。因为1、异或满足交换律2、异或满足结合律3、A^A0举例代码classSolution{publicvoidreverseString(char[]s){// 定义左右指针intleft0;intrights.length-1;while(leftright){// 创建临时变量chartemp;temps[left];s[left]s[right];s[right--]temp;}}}使用异或classSolution{publicvoidreverseString(char[]s){// 定义左右指针intleft0;intrights.length-1;while(leftright){// 使用异或此处不能取等 否则A^A0s[left]^s[right];s[right]^s[left];s[left]^s[right--];}}}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2494310.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!