解题思路:利用栈的先进后出实现反转。首先新建一个栈存入字符串,然后依次推出栈顶元素,并存入字符数组,最后将数组转化为字符串的形式即可。

import java.util.*;


public class Solution {
    /**
     * 反转字符串
     * @param str string字符串 
     * @return string字符串
     */
    public String solve (String str) {
        // write code here
        int length=str.length();
        char[] answer=new char[length];
        Stack<Character> stack=new Stack<Character>();
        for(int i=0;i<str.length();i++){
            stack.push(str.charAt(i));
        }
        for(int i=0;i<str.length();i++){
            System.out.print(stack.peek());
            answer[i]=stack.pop();
        }
        return String.valueOf(answer);
    }
}