链表是一个有序的列表,它分为单向链表,双向链表,单向环形链表 一.单向链表 链表在内存中的存储如下: 它有如下特性: 1.链表是以节点的方式,是链式存储 2.每个节点都包含data域,next域来指向下一个节点 3.每个链表在内存中的分布不一定是连续的 4.链表分为有头结点的链表和没有头结点的链表, ...
分类:
编程语言 时间:
2020-01-28 12:22:07
阅读次数:
76
剑指OFFER 反转链表 分析 在原来的链表上进行反转空间复杂度O(1),稍加思考可知道最少需要三个指针,那么先处理常规的情况(结点数大于等于3个),其中该情况又要分别处理头中尾三种情况 最后慢慢处理特殊情况(结点数1个,结点数2个),然后写出代码 总结 头脑要保持清醒,指针不要弄混了 ...
分类:
其他好文 时间:
2020-01-26 10:21:43
阅读次数:
59
题目描述:反转一个单链表。示例:输入: 1 2 3 4 5 NULL输出: 5 4 3 2 1 NULL迭代解法/ Definition?for?singly linked?list.public?class?ListNode?{ int?val; ListNode?next; ListNode(i ...
分类:
编程语言 时间:
2020-01-25 12:57:23
阅读次数:
78
题目描述: 反转一个单链表。 示例: 输入: 1 2 3 4 5 NULL 输出: 5 4 3 2 1 NULL 迭代解法 对代码进行解释: 1、准备两个空节pre和next点进行后续的操作,其中pre保存head之前的节点、next做临时变量; 2、如果head不空便进入循环体,转3;否则退出循环 ...
分类:
编程语言 时间:
2020-01-24 09:30:08
阅读次数:
78
206. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL /** * Definition for singly-linked list. * struct ListNode { * int val; * ListN ...
分类:
其他好文 时间:
2020-01-20 12:54:50
阅读次数:
53
92. 反转链表 II https://leetcode cn.com/problems/reverse linked list ii/ | 难度 | 完成日期 | 耗时 | 提交次数 | | | | | | | 中等 | 2020 1 16 | 1小时 | 1 | 问题描述 反转从位置 m 到 n ...
分类:
其他好文 时间:
2020-01-16 22:16:54
阅读次数:
64
数组 链表 1. 剑指offer24:反转链表 (leetcode206. Reverse Linked List) 方法1: iterative 记忆点: 采用pre,cur,next3个指针进行迭代 关键点: 1. 分析出有3个指针: pre,cur,next。 2. for的终止条件 表示每个 ...
分类:
编程语言 时间:
2020-01-11 18:43:54
阅读次数:
57
2020-01-07 递归是什么: 递归,从定义上说,指的是某个函数直接或者间接调用自己时,则发生了递归。 比如说著名的斐波拉契数列的实现方法之一: 1 public static int f(int n){ 2 3 if(n == 1 || n == 2) return 1; 4 5 return ...
分类:
其他好文 时间:
2020-01-07 16:28:17
阅读次数:
76
给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。 输入格式: 每个输入包含 1 个测试用例 ...
分类:
其他好文 时间:
2020-01-04 20:23:00
阅读次数:
68
解题思路 递归 程序刚开始执行,if 语句失效,进入 else 语句,然后执行Node *newhead = reverseList(head->next);第二个结点的指针参数传入递归函数,一直到,最后一个结点的指针参数传入递归函数,if 语句有效head->next == NULL,返回当前的h ...
分类:
其他好文 时间:
2019-12-31 14:49:57
阅读次数:
109