簡體   English   中英

使用堆棧反轉字符串?

[英]Using stacks to reverse string?

到目前為止,這是我的代碼,我需要創建一個反向字符串,以便input =“ hello”將輸出=“ olleh” ...我的錯誤出現在代碼的push和pop部分中。 我不能使用StringBuffer。 錯誤是-

線程“主”中的異常java.lang.Error:未解決的編譯問題:l無法解決l無法解決

在E.reverse(E.java:10)在E.main(E.java:17)

你能幫忙嗎?

public class Rev {

    public static String reverse(String s) {

        MyStack st = new MyStack();
        while (!s.isEmpty()) {
            String k = st.toString();
            st.push(s);
        }
        while (!s.isEmpty()) {
            String p = st.pop();
            return s;
        }}
        public static void main(String[] args) {
            System.out.println(reverse("hello"));
    }
}

一種簡單的方法是:

 private Stack s = new Stack();

    public void reversestack( String str )
    {
        for(int j = 0; j < str.length(); j++)
        {
            s.push( str.charAt( j ) );
        }

        while(s.isEmpty() != true)
        {    
            System.out.println(s.pop());
        }

    }

這樣嘗試如何:-

public class StringReverse {

    public static void main(String [] args){

        Scanner scanner = new Scanner(System.in);
        String str = "";
        Stack<String> stack = new Stack<String>();

        System.out.println("Enter a string to be reversed: ");

        str = scanner.nextLine();

        for (int i=0;i<str.length();i++){

            stack.push(str.substring(i,i+1));
        }

        String strrev = "";
        while(!stack.isEmpty()){

            strrev += stack.pop(); 
        }

        System.out.println("Reverse of the string \"" + str + "\" is: \"" + strrev + "\"");
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM