Leetcode234. 回文链表

题目

请判断一个链表是否为回文链表。

示例 1:

输入: 1->2
输出: false
示例 2:

输入: 1->2->2->1
输出: true
进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?

Swift解法

class Solution {
    func isPalindrome(_ head: ListNode?) -> Bool {
        var items = [Int]()
        var pointer = head
        while pointer != nil {
            items.append((pointer?.val)!)
            pointer = pointer?.next
        }
        var palindrome = true
        var i = 0
        while i < items.count / 2 {
            if items[i] != items[items.count - i - 1] {
                palindrome = false
                break
            }
            i += 1
        }
        return palindrome
    }
}

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-linked-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

你可能感兴趣的:(Leetcode234. 回文链表)