package suanfa.string;

import java.util.Stack;

/**

  • 反转字符串

  • /
    public class Solve {

    public static void main(String[] args) {

      String s = "helloword";
      System.out.println(solveByTwoPoint(s));

    }

    /**

    • 通过栈实现

    • @param s

    • @return

    • /
      public static String solveByStack(String s) {
      Stack<character> stack = new Stack<character>();
      char[] reverse = new char[s.length()];
      for (int i = 0; i < s.length(); i++) {</character></character>

        stack.add(s.charAt(i));

      }

      for (int j = 0; j < s.length(); j++) {

        reverse[j] = stack.pop();

      }
      return new String(reverse);
      }

      /**

    • 通过双指针实现

    • @param str

    • @return

    • /
      public static String solveByTwoPoint(String str) {

      char[] arr = str.toCharArray();
      int length = arr.length;

      for (int i = 0; i < arr.length / 2; i++) {

        char tmp;
        tmp = arr[i];
        arr[i] = arr[length - i - 1];
        arr[length - i - 1] = tmp;

      }
      return new String(arr);
      }
      }