zoukankan      html  css  js  c++  java
  • LeetCode~344. 反转字符串

    编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。

    不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

    你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。

    示例

    示例 1:
    输入:["h","e","l","l","o"]
    输出:["o","l","l","e","h"]
    
    示例 2:
    输入:["H","a","n","n","a","h"]
    输出:["h","a","n","n","a","H"]
    

    解题思路分析

    1. 不能使用额外的数组空间,在原数组上进行交换
      1. 定义两个指针 start, end
    2. 交换时所需要的额外空间
      1. temp
    3. 需要将字符中的元素位置反转过来
      1. while
    4. 返回结果
      1. 因为是数组,引用的是地址,所以这里不需要返回值,修改后的内容不会消失

    代码

    class Solution {
        public void reverseString(char[] s) {
            int start = 0;
            int end = s.length - 1;
            char temp = ' ';
            while(start < end){
                temp = s[start];
                s[start++] = s[end];
                s[end--] = temp;
            }
        }
    }
    

    来源:力扣(LeetCode)

    链接:https://leetcode-cn.com/problem s/plus-one

    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 相关阅读:
    js闭包
    python切片 []取值操作符
    python with语句
    python鸭子类型(duck type)
    python编码规范
    python @property使用详解
    python __slots__使用详解
    Python面向对象编程
    ifconfig命令详解
    5、Cocos2dx 3.0游戏开发找小三之測试例子简单介绍及小结
  • 原文地址:https://www.cnblogs.com/unrecognized/p/11537338.html
Copyright © 2011-2022 走看看