cpp
#include#include using namespace std; struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; class Solution { public: vector printListFromTailToHead(ListNode *head) { if (head == NULL) { return {}; } ListNode *node = head; vector myVec; while (node != NULL) { myVec.push_back(node->val); node = node->next; } reverse(myVec.begin(), myVec.end()); return myVec; } };
golang
package main
type ListNode struct {
Val int
Next *ListNode
}
func printListFromTailToHead(head *ListNode) []int {
if head == nil {
return []int{}
}
var slice []int
for head != nil {
slice = append(slice, head.Val)
head = head.Next
}
for i, j := 0, len(slice)-1; i < j; {
slice[i], slice[j] = slice[j], slice[i]
i++
j--
}
return slice
}



