Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- https://leetcode.com/problems/palindrome-linked-list/
- class Solution
- {
- private:
- ListNode* get_node(ListNode* head, int n)
- {
- for (int i = 1; i < n; ++i)
- {
- head = head->next;
- }
- return head;
- }
- public:
- bool isPalindrome(ListNode* head)
- {
- int sz = 0, m;
- ListNode* t = head;
- while (t != NULL)
- {
- sz++;
- t = t->next;
- }
- m = sz / 2;
- t = get_node(head, sz - m + 1);
- for (int i = 0; i < m; ++i)
- {
- if (t->val != get_node(head, m - i)->val)
- return 0;
- else
- t = t->next;
- }
- return 1;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment