请判断一个链表是否为回文链表。
示例 1:
输入: 1->2
输出: false
示例 2:
输入: 1->2->2->1
输出: true
解法:
/**
* Definition for singly-linked list.
* public class ListNode {
* public var val: Int
* public var next: ListNode?
* public init(_ val: Int) {
* self.val = val
* self.next = nil
* }
* }
*/
class Solution {
func isPalindrome(_ head: ListNode?) -> Bool {
var head = head
guard head != nil else {
return true
}
var array = [Int]()
while head != nil {
array.append(head!.val)
head = head?.next
}
var temp = Array(array.reversed())
for iten in 0..<array.count {
if temp[iten] != array[iten] {
return false
}
}
return true
}
}