普通链表的插入,选择,冒泡,计数排序,交叉排序,奇偶交叉以及归并排序(排列排序),链表的反转,循环元素移动。 ...
分类:
编程语言 时间:
2020-06-21 09:15:20
阅读次数:
62
思路: 递归的基线条件:遍历到末节点(node.next null) 递归的递归条件:node.next !== null 当遇到末节点时,返回末节点,末节点的next接受上一个head,返回前一节的,继续下去 考虑特殊情况:undefined和null var reverseList = func ...
分类:
Web程序 时间:
2020-04-23 20:47:18
阅读次数:
275
单链表的反转可以用递归、非递归和栈的方法实现 链表节点定义: 1、栈 2、递归 利用递归,直到链表的最后一个节点,用一个指针指向该节点,作为反转后的链表的头节点 在递归返回的过程中,让该节点的下一个节点指向该节点$(head next next=head)$, 并让该节点指向$NULL$。这样就从链 ...
分类:
其他好文 时间:
2020-04-01 19:23:32
阅读次数:
79
1:题目描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/fan- ...
分类:
其他好文 时间:
2020-03-14 11:17:49
阅读次数:
58
1 void reverse(ListNode*& pre,ListNode* cur,ListNode* nxt){ 2 while(cur){ 3 nxt=cur->next; 4 cur->next=pre; 5 pre=cur; 6 cur=nxt; 7 } 8 } 定义一个这样的函数: 初 ...
分类:
其他好文 时间:
2020-03-07 16:18:51
阅读次数:
59
1 单向链表的反转 问题描述: 给定一个带头结点的单链表,请将其逆序。即如果单链表原来为head -->1 --> 2 --> 3 --> 4 --> 5,那么逆序后变为head --> 5 --> 4 --> 3 --> 2 --> 1。 解决过程: 给定一个单向链表1-->2-->3,通过下面的 ...
分类:
其他好文 时间:
2019-10-19 12:59:21
阅读次数:
90
最近在看链表,今天刷到一道链表的反转题,链表反转可以说是基础操作,但是可提供的方案也有很多,简单通过了该题后又学习了一下递归反转,现在把三种方法都公开出来做一个总结。 1.就地逆置 2.单参数的递归逆置 3.双参数的递归逆置 一、就地逆置 方法:头插。 由于这里是不带表头结点的单向链表,所以头插会稍 ...
分类:
其他好文 时间:
2019-09-03 22:36:23
阅读次数:
106
题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 <! more 题目大意及分析 题目意思很明确,就是将一个链表倒转,然后返回这个倒转的链表。 1. 直接用三个临时指针进行链表的反转。 2. 使用栈结构,递归进行链表的倒转。 我的参考代码只写了第一种方法,有兴趣的小可爱们可以 ...
分类:
其他好文 时间:
2019-08-31 21:47:19
阅读次数:
93
一、数据结构 1.手写链表的基本操作(创建、新增节点、删除节点、销毁等) 2.链表的反转 3.如何判断一个链表有环 4.双向链表删除一个非头非尾节点 5.单向链表删除一个非头非尾节点 6.二叉树的前、中、后序遍历打印 7.STL中vector的内部实现原理 8.STL中vector与list的区别 ...
分类:
编程语言 时间:
2019-08-20 22:30:56
阅读次数:
139
单链表的反转困扰了我好几天了。今天终于一通百通了,特地记录一下,免得以后又忘记了。脑子笨,只能靠这种办法了。 之前网上的一种做法是这样的: 核心的代码就是这一段: 但实际上做种做法是错误的。我们先看看反转之后的情况。 一遍一遍遍历的过程是这样的。每一行就是一次遍历。 这个实际上我没办法遍历,我是用最 ...
分类:
其他好文 时间:
2019-08-14 00:02:59
阅读次数:
173