力扣 OJ 234. 回文链表
题目: 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 代码: int GetLength(ListNode *p)//获取链表长度 { int ans = 0; while (p) { ans++; p = p->next; } return ans; } ListNode * Reverse(ListNode *p)//链表反转,返回新的head { if (p == NULL)return p; ListNode * q1; ListNode * q2; q1 = p->next, p->next = NULL; while (q1) { q2 = q1->next, q1->next = p, p = q1, q1 = q2; } return p; } class Solution { public: bool isPalindrome(ListNode* head) { if (head == NULL)return true; int length = GetLength(head); length = (length - 1) / 2; ListNode* p = head; while