zoukankan      html  css  js  c++  java
  • LeetCode : Palindrome Linked List

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

    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
    class Solution {
    public:
        bool isPalindrome(ListNode* head) {
            vector<int>vec;
            ListNode *p = head;
            int count = 0;
            while(p)
            {
                count++;
                p=p->next;
            }
            p = head;
            if(count%2==0)
              {
                  count/=2;
                  while(count--)
                  {
                      vec.push_back(p->val);
                      p=p->next;
                  }
              }
             else
             {
                 count/=2;
                 while(count--)
                 {
                     vec.push_back(p->val);
                     p=p->next;
                 }
                 p=p->next;
             }
           reverse(vec.begin(),vec.end());
           int i = 0;
           while(p)
           {
               if(p->val!=vec[i])
                  return false;
                p=p->next;
                ++i;
           }
           return true;
        }
    };
  • 相关阅读:
    C++11 学习总结
    平衡二叉树 (AVL) 笔记
    拼图模板
    2013.9.12
    2013.9.11
    2013.9.10
    2013.9.9
    下载网站
    ubuntu 安装codeblocks
    12个球称3次找坏球的完美解答
  • 原文地址:https://www.cnblogs.com/chankeh/p/6850069.html
Copyright © 2011-2022 走看看