[编程题] lc 344 反转字符串

[编程题] lc:344. 反转字符串

题目描述

image-20200719104502939

输入输出例子

image-20200719104511762

方法1:前后指针

Java代码

//方法1:前后指针的交换元素
    public void reverseString1(char[] s) {
        int l = 0;
        int r = s.length-1;
        while(l<=r){
            char temp = s[l];
            s[l] = s[r];
            s[r] = temp;
            l++;
            r--;
        }
    }

方法2:借助栈弹出

思想:入栈并出栈刚好逆转;

Java代码

//方法2:借助栈
    public void reverseString(char[] s) {
        Deque<Character> stack1 = new LinkedList<Character>();
        for(char s1 : s){
            stack1.push(s1);
        }
        
        for(int i=0;i<s.length;i++){
            s[i] = stack1.pop();
        }
    }
原文地址:https://www.cnblogs.com/jiyongjia/p/13338950.html