234. Palindrome Linked List

来源:互联网 发布:javassm开源项目源码 编辑:程序博客网 时间:2024/06/06 01:32

Given a singly linked list, determine if it is a palindrome.

Follow up:
Could you do it in O(n) time and O(1) space?


翻译:给定一个链表,判断是否是回文。

方法一:使用数组 o(n)

方法二:使用栈,从左到右遍历链表,压栈。出栈判断o(n/2)

方法三:使用变量,翻转后半部分的链表。

class Solution{public:bool isPalindRome(ListNode *head){if(head==NULL || head->next==NULL)return true;ListNode* n1=head;ListNode* n2=head;if(n1->next->next==NULL){n2=n1->next;if(n2->val==n1->val)return true;elsereturn false;}while(n2->next!=NULL && n2->next->next!=NULL){n1=n1->next;n2=n2->next->next;}n2=n1->next;ListNode* n3=NULL;n1->next=NULL;           //将中间的元素的next指向空。while(n2!=NULL){n3=n2->next;n2->next=n1;n1=n2;n2=n3;}                    //将后半部分进行翻转n2=head;             //原链表第一个元素while(n1!=NULL && n2!=NULL)  //n1表示原链表最后一个元素{if(n1->val!=n2->val)return false;n1=n1->next;n2=n2->next;}return true;}};



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 我靠无限物资全球基建 本道祖文成武德 全福夫人要和离 她从火光中来 裴先生每天都在撒娇求和 空间逃荒:团宠小尼姑路子野 别慌,学霸老爹和我一起穿越了 薄先生突然黏她上瘾 团宠崽崽是只桃花精 我那老板柔弱不能自理 反派小媳妇的逆袭指南 我有一个大佬群 二婚后,我在豪门扮柔弱 诸天仙神热搜:主神老婆竟是魔尊 团宠小福妻又娇又软 替嫁医妃有空间 重生之农门贵夫 野性偏爱 嫁给病弱太子后我躺赢了 咸鱼娘娘一心只想翻墙 救命!破产后高冷总裁处处招惹我 冷酷将军每天都想要贴贴 何以赎光 甜腻!病娇傅少竟然暗恋我! 天价萌妻:偏执帝少心尖宠 有读心术后,战神把娘子宠上天 穿书后,我刷错了反派的好感度 摄政王怀里的团宠美人娇又软 满级千金不想掉马 女帝她就是个卖药的! 华娱激荡年代 她来看我的演唱会 快穿:娇养反派大佬做替身 不努力种田就要和相公继承皇位了 穿书末世之我是金手指 转生恶少后的魔幻日常 穿书后我成了反派男二的铁血妈粉 带着超市重返年代 新婚夜,我被冷冰冰的王爷读心了 修仙女配拿了反派剧本 影后的假面童话