package main
import "fmt"
type ListNode struct {
Val int
Next *ListNode
}
func isPalindrome(head *ListNode) bool {
var vals []int
for ; head != nil; head = head.Next {
vals = append(vals, head.Val)
}
n := len(vals)
for i, v := range vals[:n/2] {
if v != vals[n-1-i] {
return false
}
}
return true
}
func main() {
node := &ListNode{Val:1}
node.Next = &ListNode{Val:2}
node.Next = &ListNode{Val:2}
node.Next = &ListNode{Val:1}
fmt.Println(isPalindrome(node))
}
leetcode第六题 判断回文链表golang完整可运行实现
最新推荐文章于 2024-07-14 05:44:51 发布
该博客探讨了一个用于检查链表是否为回文的算法。通过遍历链表,将节点值存储到数组中,然后比较数组前半部分与后半部分的值是否相等来确定链表的回文性质。示例代码使用Go语言实现,并进行了测试。
379

被折叠的 条评论
为什么被折叠?



