链栈判断是否回文
1.定义节点类
代码如下(示例):
public class linkNode2.定义链栈及基本运算的实现
代码如下(示例):
public class linkStackClass3.判断是否是回文{ linkNode head; public linkStackClass() { head=new linkNode (); head.next=null; } public boolean empty() { return head.next==null; } public void push(Object e) { linkNode s=new linkNode (e); s.next=head.next; head.next=s; } public Object pop() { if(empty()) throw new IllegalArgumentException("栈空"); Object e= head.next.data; head.next=head.next.next; return e; } public Object peek() { if(empty()) throw new IllegalArgumentException("栈空"); Object e=head.next.data; return e; } }
将字符串str的前半部分依次进栈,后再连续出栈并于str字符串的后半部分比较,若·前半部分的反向序列与后半部分相同则是回文。
import java.util.*;
public class 应用二 {
public static boolean isPalindrome(String str)
{
linkStackClass st=new linkStackClass();
int n=str.length();
int i=0;
while(i



