回文链表
请判断一个链表是否为回文链表。
示例 1:
输入: 1->2
输出: false
示例 2:
输入: 1->2->2->1
输出: true
思路:
将链表转换成数组,使用双指针判断
代码实现:
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func isPalindrome(head *ListNode) bool {
newSlice := []int{}
for head != nil{
newSlice = append(newSlice, head.Val)
head = head.Next
}
lenNewSlice := len(newSlice)
for i := 0; i < lenNewSlice/2; i ++{
if newSlice[i] != newSlice[lenNewSlice - i -1]{
return false
}
}
return true
}