回文链表-LintCode
来源:互联网 发布:数学分析教材推荐知乎 编辑:程序博客网 时间:2024/05/17 06:12
描述:
设计一种方式检查一个链表是否为回文链表。
样例:
1->2->1
就是一个回文链表。
思路:
因为链表是按顺序访问,对于这道题来说不易操作,所以我转换成了比较好操作的数组。
1.先将链表里的数都存入数组,记一下链表的长度length
2.另i为第一个元素从前面遍历,j为最后一个元素从后面遍历,逐一判断a[i]是否等于a[j],如果相等就进行下一个判断,如果不相等就结束循环
3.判断i是否访问到了length/2,如果全部遍历完成,那么这个链表就是一个回文链表,否则就不是
AC代码:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: /** * @param head a ListNode * @return a boolean */ bool isPalindrome(ListNode* head) { // Write your code here int length=0,i,j,a[1000005]; if(head==NULL) return 1; while(head!=NULL) { a[length]=head->val; length++; head=head->next; } for(i=0,j=length-1;i<=length/2;i++,j--) { if(a[i]!=a[j]) break; } if(i==length/2+1)return 1; return 0; }};
0 0
- LintCode:回文链表
- LintCode:回文链表
- lintcode,回文链表
- LintCode 回文链表
- 回文链表-LintCode
- lintcode--回文链表
- 回文链表 -LintCode
- lintcode-回文链表-223
- [LintCode]223.回文链表
- lintcode-有效回文字符串
- LintCode : 有效回文串
- LintCode-有效回文串
- lintcode刷题--回文串
- LintCode- 分割回文串
- lintcode --有效回文串
- 最长回文字串 lintcode
- LintCode:回文串
- LintCode:分割回文串
- 数据库ACID、隔离级别与MVCC
- bzoj1093: [ZJOI2007]最大半连通子图
- 20170412----面试总结---一直更新
- iOS容错利器之JKDataHelper(二)
- [数据结构基础] 图
- 回文链表-LintCode
- 欢迎使用CSDN-markdown编辑器
- LINUX下Oracle数据库用户创建方法详解
- 【NOI2017模拟3.30】原谅
- 轻松理解MYSQL MVCC 实现机制
- 图像边缘检测技术与理论发展脉络梳理
- V4L2介绍
- mysql基础:1、windows系统安装mysql数据库
- line vty的原理配置及相关操作