输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
限制:
0 <= 链表长度 <= 10000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
给定一个单链表,从尾到头打印链表的值。先顺序遍历链表,将结果存到一个数组中,然后逆序数组。代码如下:
class Solution {
public:
vector<int> reversePrint(ListNode* head) {
if(head == NULL) return {};
vector<int> ans;
while(head != NULL) {
ans.push_back(head->val);
head = head->next;
}
int i = 0, j = ans.size() - 1;
while(i < j) {
swap(ans[i++], ans[j--]);
}
return ans;
}
};
本代码提交AC,用时4MS。