单链表的反转(C++)
链表的反转
- 基本思想:
用三个指针,其中一个指针p指向头结点,q为p的下一个结点。通过判断q是否为空,实现循环,在每一次循环中,引入新的指针r,将q指针的下一个结点设为p,并更新指针q和r。
- C++完整代码如下:
#include<iostream>
using namespace std;
struct ListNode
{
int val;
ListNode *next;
ListNode(int x): val(x), next(NULL){}
};
ListNode *help(ListNode *a)
{
ListNode *p = a;
ListNode *q;
ListNode *r;
q = p->next;
p->next = NULL;
while (q){
r = q->next;
q->next = p;
p = q;
q = r;
}
return p;
}
int main()
{
int n;
ListNode *a=new ListNode(NULL);
ListNode *pa = a;
ListNode *result;
cin >> n;
while (n--) {
int temp;
cin >> temp;
pa->next = new ListNode(temp);
pa = pa->next;
}
result = help(a->next);
while (result) {
cout << result->val << " ";
result = result->next;
}
system("pause");
return 0;
}
单链表的反转(C++)相关推荐
- java 链表反转_LeetCode206 实现单链表的反转
LeetCode206 实现单链表的反转 LeetCode 码,码不停题 1.题目介绍 Reverse a singly linked list. Example: Input:1->2-> ...
- 程序员面试系列——单链表的反转
单向链表的反转(或者叫逆置)是经常被问到的考题.建议考前临阵磨枪,强背一波. 代码说明: void reverse_list(node_t *head) 此函数实现带头结点(也叫表头.哑结点)的单链表 ...
- 链表之单链表的反转总结
单链表的反转是常见的面试题目.本文总结了2种方法. 1 定义 单链表node的数据结构定义如下: class ListNode {int val;ListNode next;ListNode(int ...
- 单链表实现反转的三种方法
单链表的操作是面试中经常会遇到的问题,今天总结一下反转的几种方案: 1 ,两两对换 2, 放入数组,倒置数组 3, 递归实现 代码如下: #include<stdio.h> #includ ...
- Java实现单链表的反转
思路1:初始化一个新的头节点reverseHead,然后遍历旧链表,利用头插法向reverseHead进行插入 思路2: 1.反转相当于数据的更换(1和n,2和n-1,3和n-2)n为链表的长度 2. ...
- 链表——实现单链表的反转
实现代码(java): public class ListNode { int val; ListNode next = null; ListNode(int va ...
- python单链表就地反转_Python中的就地字典反转
这不适用,但使用popitem()消耗oldDict from collections import defaultdict def invert(oldDict): invertedDict = d ...
- 数据结构1:单链表反转java代码解释
来源于尚硅谷的老师代码,只因其中有几行代码自己课上没听明白,课后自己整理了一下 首先完整代码如下: //将单链表反转 public static void reversetList(HeroNode ...
- python反转单链表
原始单链表 反转后单链表 思路: 对于每个节点来说,把她的下一个节点,改为他的上一个节点,然后把下一个节点继续变换 建两个临时变量,上一个节点pred,下一个节点next,初始化为None 第1步,开 ...
- bat面试题 python 单链表反转排序
单链表反转python实现 单链表的反转可以使用循环,也可以使用递归的方式 1.循环反转单链表
最新文章
- 分布式任务调度系统V1
- Opengl-立方体贴图(天空盒子)
- These dependencies were not found: *!!vue-style-loader!css-loader?
- 【企业管理】组织与管理的思考
- 【实施工程师之家】——mysql四种索引PRIMARY(主键索引)、INDEX(一般索引)、UNIQUE(非空索引)、FULLTEXT(全文索引)应用
- 为了在 Windows 上安装 GCC
- 关于Oracle RAC节点间免密码策略
- TensorFlow:Windows下使用TensorFlow-Python版本
- Redis学习笔记--Redis数据过期策略详解==转
- 数数题(计数类 DP)做题记录
- 【51Nod - 1416】两点 (dfs 或 并查集+dfs)
- CCF202006-1 线性分类器
- android中间隔执行程序,Android:在SeekBar中设置间隔
- zabbix使用IT services 了解服务器SLA整体情况
- python 学习爬虫教程~
- 【算法工程师】华为技术面面试记录
- jQuery京东分类导航菜单
- IDEA汉化,中文包和汉化包以及中文版jar下载(更新了2018-2018.2.3版本)
- —— GPS测量原理及应用复习-3 ——
- 【项目管理/PMP/PMBOK第六版/新考纲】纯干货!Sprint冲刺/冲刺计划会/每日站立会/冲刺评审会/冲刺回顾会,系列文章建议收藏