题目
请判断一个链表是否为回文链表。
示例 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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。