(java)求证一个链表是否是回文的。
来源:互联网 发布:杭州淘宝培训机构 编辑:程序博客网 时间:2024/04/28 22:26
要求是空间O(1)时间O(N)
我的思路是利用了链表原地翻转的思想,这次是要将后半段进行原地翻转,然后从头结点和翻转的节点开始判断节点值是否相同。代码如下(可能写的有点乱,分了奇偶数的情况)
public boolean isPalindrome(ListNode head) { if(head==null || head.next==null){ return true; } int n=0; int i=1; ListNode p=head; while(p!=null){ n++; p=p.next; } p=head; if(n%2==0){ i=1; }else{ i=0; } while(i<n/2){ i++; p=p.next; } ListNode q=p; p=p.next; q.next=null; while(p!=null){ ListNode temp=p; p=p.next; temp.next=q.next; q.next=temp; } q=q.next; while(q!=null){ if(head.val!=q.val){ return false; } head=head.next; q=q.next; } return true; }
0 0
- (java)求证一个链表是否是回文的。
- java判断一个链表是否是回文结构
- java判断一个字符串是否是回文
- 判断一个链表是否是回文链表
- 判断一个单链表是否是回文链表
- 判断一个链表是否是回文结构 Python 版
- 给定一个链表,判断是否是回文
- java判断一个数是否是回文数
- 判断一个链表是否为回文结构(java实现)
- Java字符串是否是回文
- 检查链表是否是回文
- 判断是否是回文数字的函数(java)
- java之判断输入的数是否是回文数
- 判断一个数字是否是回文
- 判断一个数字是否是回文
- 判断一个数是否是回文
- 队列-----判断一个字符串是否是回文
- 判断一个数是否是回文数
- Wamp2.5(Apache2.4.9)外网访问403(Forbidden)错误
- App icon 显示版本号
- Flume安装使用
- Android studio导入project,module的正确方法,
- How to allow new records to be inserted, but prevent existing data from being edited
- (java)求证一个链表是否是回文的。
- 文章标题
- HDU 4403 A very hard Aoshu problem (暴力+状态压缩)
- WifiBoxAlarmManager 定时小结
- redis 发布订阅
- Cg入门13: Vertex Shader - 几何变换 —顶点位移
- C#冒泡排序
- 自定义Indicator步骤,笔记
- NGUI UILable 换行