首页 > 其他 > 详细

234回文链表

时间:2020-07-16 13:43:24      阅读:28      评论:0      收藏:0      [点我收藏+]

题目描述:

请判断一个链表是否为回文链表。

示例 1:

输入: 1->2
输出: false

示例 2:

输入: 1->2->2->1
输出: true
思路:
刚开始的时候想错了,以为只有中间有重复出现的元素才能是回文串
如果题目是数组,不是链表那么这个问题解决起来就会比较容易
所以我采用了一种最笨的办法,先把长度求出来,然后判断首尾的元素是否相等,得出结论
这种方案比较蠢,但是无奈我只会按照数组的方法求
代码如下:
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */

int q[70000];
bool isPalindrome(struct ListNode* head){

    struct ListNode *p=head;
    int len=0;
    while(p)
    {
       len++;
        q[len]=p->val;
         p=p->next;
    }
    
    for(int i=1;i<=len/2;i++)
    {
        if(q[i]!=q[len-i+1])
           return false;
    }
    return true;

}

  结论:

这本应该是一道链表的题,可是因为对链表掌握的不深刻,所以只能采取数组的形式完车。慢慢加深练习之后再回头用链表来完成一下这道题

 

234回文链表

原文:https://www.cnblogs.com/redzzy/p/13321390.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!