[leetcode]Palindrome Linked List
2015-10-10 19:45
609 查看
public class Solution {
public boolean isPalindrome(ListNode head) {
if(head==null||head.next==null)
return true;
int n=0;
ListNode t=head;
while(t!=null){
n++;
t=t.next;
}
t=head;
for(int i=0;i<(n+1)/2;i++){
t=t.next;
}
ListNode second=reverseList(t);
t=head;
while(t!=null&&second!=null){
if(t.val!=second.val)
return false;
t=t.next;
second=second.next;
}
return true;
}
public ListNode reverseList(ListNode head){
if(head==null||head.next==null)
return head;
ListNode prev=head,cur=head.next,next;
prev.next=null;
while(cur!=null){
next=cur.next;
cur.next=prev;
prev=cur;
cur=next;
}
return prev;
}
}
public boolean isPalindrome(ListNode head) {
if(head==null||head.next==null)
return true;
int n=0;
ListNode t=head;
while(t!=null){
n++;
t=t.next;
}
t=head;
for(int i=0;i<(n+1)/2;i++){
t=t.next;
}
ListNode second=reverseList(t);
t=head;
while(t!=null&&second!=null){
if(t.val!=second.val)
return false;
t=t.next;
second=second.next;
}
return true;
}
public ListNode reverseList(ListNode head){
if(head==null||head.next==null)
return head;
ListNode prev=head,cur=head.next,next;
prev.next=null;
while(cur!=null){
next=cur.next;
cur.next=prev;
prev=cur;
cur=next;
}
return prev;
}
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统