剑指 Offer II 027. 回文链表

2022-04-22  本文已影响0人  邦_

想着把链表转成数组 然后双指针判断是否回文


  func isPalindrome(_ head: ListNode?) -> Bool {
        
        var array = Array<ListNode>()
        var tempNode = head
        
        while tempNode != nil {
            
            if let node = tempNode {
                array.append(node)
            }
            tempNode = tempNode?.next
        }
        
        if array.count == 1 {
            return true
        }
        
        
        var left = 0
        var right = array.count - 1
        while left < right {
            if array[left].val == array[right].val {
                left += 1
                right -= 1
            }
            else {
                return false
            }
        }
        return true

    }









上一篇 下一篇

猜你喜欢

热点阅读