我在java中使用堆棧編寫了一個迴文。但是,由於某些原因,彈出堆棧時程序無法按預期工作。我也嘗試使用頂部和迭代使用這個變量。無論哪種方式,它不工作。迴文使用堆棧
import java.util.Stack;
class Palindromer {
Stack<Character> stack = null;
int top = -1;
public boolean isPalindrome(String s) {
for (int i = 0; i < s.length(); i++) {
stack = new Stack<Character>();
stack.push(s.charAt(i));
top++;
}
System.out.println("value of top is " + top);
String returnString = "";
while (!stack.isEmpty()) {
returnString += stack.pop();
}
System.out.println(returnString);
return returnString.equals(s);
}
}
public class PalindromeChecker {
public static void main(String[] args) {
Palindromer palin = new Palindromer();
if (palin.isPalindrome("BananaB")) {
System.out.println("is palindrome");
} else {
System.out.println("not a palindrome");
}
}
}
不要在你的'for'環實例化一個新的空'Stack' ... BTW:[相關](http://stackoverflow.com/questions/7569335/reverse-a-string -in-java的)。 – Kenney
哇謝謝,這工作。 – dataEnthusiast
@WhiteViking沒有重複,您提交的問題質量很低。 – Wolf