从尾到头打印链表(三指针法)
来源:互联网 发布:js转换日期格式 编辑:程序博客网 时间:2024/06/06 00:09
输入一个链表,从尾到头打印链表每个节点的值。
/**
* struct ListNode {* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
ListNode* newList=new ListNode(0);
ListNode* newnode=head;
ListNode* oldnode=head;
while(oldnode!=NULL)
{
if (newList->next!=NULL)
{
newnode=newnode->next; //移动下一节点
oldnode->next=newList->next; //用oldnode来记录倒置链表
newList->next=oldnode; //新链表存旧节点
oldnode=newnode; //记录新节点
}
else //第一次运行
{
newList->next=oldnode; //新链表存第一节点
newnode=oldnode->next; //移动下一节点
oldnode->next=NULL; //oldnode头节点为NULL
oldnode=newnode; //记录新节点
}
}
oldnode=newList->next;
vector<int> a;
while(oldnode!=NULL) //输出
{
a.push_back(oldnode->val);
oldnode=oldnode->next;
}
return a;
}
};
思想是建立一个栈,然后遍历链表放进去,然后再出栈赋值给新链表。
这里没有直接使用栈,是使用栈的思想。使用了三个指针存储。
转载https://www.nowcoder.com/profile/6164120/codeBookDetail?submissionId=16219349
阅读全文
0 0
- 从尾到头打印链表(三指针法)
- 剑指offer(三)从尾到头打印链表
- 剑指Offer(三)从尾到头打印链表
- 算法练习三:从尾到头打印链表
- 剑指offer之三---从尾到头打印链表
- 剑指offer(三) 从尾到头打印链表
- (三)剑指offer之从尾到头打印链表
- 算法学习记录三(C++)--->从尾到头打印链表每个节点的值
- 面试训练从尾到头打印指针
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 【20】从尾到头打印链表
- 从尾到头打印链表
- 如何判断单链表是否有环?
- C/C++遍历文件和目录
- myeclipse使用技巧
- In Linux, Everything is a File
- linux ln 命令
- 从尾到头打印链表(三指针法)
- 用AppVerifier查找堆破坏
- IAR编译CC2640常见错误及解决方法
- InnoDB行锁的实现方式
- MySQL之innodb_flush_log_at_trx_commit和sync_binlog参数详解
- HTML (二)—— 图片标签
- java_继承中的构造方法
- 霍夫变换的原理 及 一种参数迭代的自适应寻找最佳霍夫直线的代码(在条码识别中的应用)
- python生成验证码