java使用栈判断回文数
时间: 2023-11-07 10:52:18 浏览: 82
面试中常问的题目
在Java中,可以使用栈来判断一个字符串是否是回文数。回文数是指正向和反向读都相同的字符串。可以按照以下步骤进行判断:
1. 创建一个栈对象,用于存储字符。
2. 遍历字符串,将每个字符依次压入栈中。
3. 弹出栈中的字符,同时构建一个新的字符串。
4. 比较原始字符串和新构建的字符串是否相等。如果相等,则说明是回文数;否则,不是回文数。
下面是一个示例代码:
```java
import java.util.Stack;
public class PalindromeChecker {
public static boolean isPalindrome(String str) {
Stack<Character> stack = new Stack<>();
int length = str.length();
// 将每个字符压栈
for (int i = 0; i < length; i++) {
stack.push(str.charAt(i));
}
// 弹栈并构建新的字符串
StringBuilder reversedStr = new StringBuilder();
while (!stack.isEmpty()) {
reversedStr.append(stack.pop());
}
// 比较原始字符串和新构建的字符串
return str.equals(reversedStr.toString());
}
public static void main(String[] args) {
String str = "crc";
boolean isPalindrome = isPalindrome(str);
System.out.println(isPalindrome ? "是回文数据!" : "不是回文数据!");
}
}
```
阅读全文