c_cpp 206.反向链接清单
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 206.反向链接清单相关的知识,希望对你有一定的参考价值。
//使用头插入的方式,建立一个新的链表
// 12 ms
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode *temp = nullptr,*nextNode = nullptr;
while(head){
nextNode = head->next;
head->next = temp;
temp = head;
head = nextNode;
}
return temp;
}
};
//使用栈的方式进行逆序
//4 ms
class Solution {
public:
ListNode* reverseList(ListNode* head) {
if(!head)
return head;
stack<int> nodes;
ListNode *p = head;
ListNode *q = head;
while(p){
nodes.push(p->val);
p = p->next;
}
while(!nodes.empty()){
q->val = nodes.top();
// cout << q->val << " ";
q = q->next;
nodes.pop();
}
return head;
}
};
以上是关于c_cpp 206.反向链接清单的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 92.反向链接清单II - 中 - 2018.7.31
java 206.反向链接列表(#1递归).java
java 206.反向链接列表(#1递归).java
java 206.反向链接列表(#1递归).java
java 206.反向链接列表(#1递归).java
java 206.反向链接列表(#1递归).java