真的觉得这 OJ 有毒。。。又是段错误,本地测试 gcc、msvc 没问题,看来得装个 clang 试试,= = 唉。。
以前的那个是参考别人的,然后时隔这么长,这次是自己实现的。
struct ListNode
{
int val;
struct ListNode* next;
ListNode(int x) :
val(x), next(NULL) {
}
};
class Solution {
private:
public:
vector<int> printListFromTailToHead(ListNode* head) {
vector<int> node;
ListNode* ph = head;
ListNode* p = head->next;
ph->next = nullptr;
while (p != nullptr)
{
ListNode* n = p->next;
p->next = ph;
ph = p;
p = n;
}
while (ph)
{
ListNode* q = ph;
node.push_back(ph->val);
ph = ph->next;
delete q;
}
return node;
}
};