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

    题目

    判断一个链表是否是回文的。

    /**
     * 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) {
            
            int len = getLength(head);
            
            if(len==1||len==0)
                return true;
            
            int x = len%2==0?len/2:len/2+1;
            
            ListNode* start = head;
            ListNode* end =reverseNode(getNode(head,x));
            
            while(end!=NULL)
            {
                if(start->val!=end->val)
                    return false;
                start=start->next;
                end=end->next;
            }
            
            return true;
            
        }
        ListNode* reverseNode(ListNode* root)
        {
            ListNode* term =root->next;
            root->next = NULL;
            while(term!=NULL)
            {
                ListNode* temp = term->next;
                term->next = root;
                root=term;
                term = temp;
            }
            return root;
        }
        
        ListNode* getNode(ListNode* root,int pos)
        {
            int x=0;
    
            while(root!=NULL)
            {
                if(x==pos)
                    return root;
                x++;
                root=root->next;
            }
            return root;
        }
        
        int getLength(ListNode* root)
        {
            int ans=0;
            while(root!=NULL)
            {
                ans++;
                root=root->next;
            }
            
            return ans;
        }
    };
    
  • 相关阅读:
    webpack第一节(4)
    webpack第一节(3)
    webpack第一节(2)
    webpack第一节(1)
    node 下载 解压 重命名
    node 文件操作
    js判断设备(转)
    【CSS3】transform-origin以原点进行旋转 (转)
    手机(转)
    mysql最大连接数问题
  • 原文地址:https://www.cnblogs.com/dacc123/p/12409833.html
Copyright © 2011-2022 走看看