zoukankan      html  css  js  c++  java
  • 234回文链表

    题目描述:

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

    示例 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;
    
    }
    

      结论:

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

     
  • 相关阅读:
    django表单字段
    python3之Django表单(一)
    python3之Django模型(一)
    python3迭代器和生成器
    python3数字、日期和时间
    python3字符串与文本处理
    python3数据结构与算法
    git仓库使用
    django邮件
    python3光学字符识别模块tesserocr与pytesseract
  • 原文地址:https://www.cnblogs.com/redzzy/p/13321390.html
Copyright © 2011-2022 走看看