题目描述
请判断一个链表是否为回文链表。
示例1:
输入: 1->2
输出: false
示例2:
输入: 1->2->2->1
输出: true
思路
用快慢指针法得到链表的中间节点,然后以中间节点为头节点翻转后半段链表,同时遍历前半段链表和后半段链表,如果在两断链表还没有走到头的时候,有值不相等则链表不是回文的。
代码
1 | public boolean isPalindrome(ListNode head) { |
Talk is cheap, show me u photo
请判断一个链表是否为回文链表。
示例1:
输入: 1->2
输出: false
示例2:
输入: 1->2->2->1
输出: true
用快慢指针法得到链表的中间节点,然后以中间节点为头节点翻转后半段链表,同时遍历前半段链表和后半段链表,如果在两断链表还没有走到头的时候,有值不相等则链表不是回文的。
1 | public boolean isPalindrome(ListNode head) { |