【GO】剑指06

93 阅读1分钟

image.png

这是一道很简单的题。不用复杂的,取链表节点的值,然后存入一个切片中的首位,循环即可完成。有很多更好的方法,暂且不表
Python最后直接list[::-1]
GO代码
/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func reversePrint(head *ListNode) []int {
    var list []int 
    // 判断空链表返回nil
    if head == nil {return nil}
    // 无限循环链表
    for{
        // 将链表元素从头插入另外一个辅助切片(初始为空切片)
        list = append([]int{head.Val},list...) 
        // 如果下一个链表是nil 那么证明已经到头了 结束循环
        if head.Next == nil {
            break
        }
        // 进行到下一个链表中
        head = head.Next
    }
    // 返回设置的辅助切片
    return list
}