Leetcode206 翻转链表 1、需求 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 2、解题思路 使用三个指针,pre指向翻转以后的头结点, curr指向为反转列表的头结点, next指向curr的下一个节点 三个节点 ...
分类:
其他好文 时间:
2021-03-16 13:47:10
阅读次数:
0
内容摘自:数据结构与算法之美 链表 链表并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用。 单链表 链表通过指针将一组零散的内存块串联在一起。其中,我们把内存块称为链表的“结点”。 为了将所有的结点串起来,每个链表的结点不仅要存储数据,还需要记录下一个结点的地址。我们将这个记 ...
分类:
其他好文 时间:
2021-03-08 13:20:35
阅读次数:
0
编号206:反转链表 题意:反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路 这里我们只需要改变节点Next域的指向即可,实现原地反转。这里我们需要借助一个辅助指针pre初始化指向nil最后最为新的头节点,一个cur指针指 ...
分类:
其他好文 时间:
2021-02-09 12:19:16
阅读次数:
0
public class SinglyLinkedList<T> { // 一个空的头节点 private final Node head = new Node(null); private Node tail = head; @SafeVarargs public final void addAl ...
分类:
其他好文 时间:
2021-02-08 12:42:48
阅读次数:
0
链表的理论基础 链表结构 链表中的节点由数据域和指针域两部分组成。 //golang中单链表节点的定义 type ListNode struct{ Val int //数据域 Next *ListNode //指针域 } 链表的分类 单链表 链表的入口处称为链表的头节点head,链表的尾节点指向nu ...
分类:
其他好文 时间:
2021-02-08 11:44:41
阅读次数:
0
#include <iostream> #include <stdlib.h> using namespace std; typedef int DataType; //使int重命名为DataType DataType flag = 0; //flag是用来判断神魔时候输入数据结束 typedef ...
分类:
其他好文 时间:
2021-02-06 11:52:00
阅读次数:
0
反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse- ...
分类:
其他好文 时间:
2021-01-27 14:05:27
阅读次数:
0
题目描述 给定一个单链表,其中的元素按升序排序,请将它转化成平衡二叉搜索树(BST) 示例1 输入 复制 {-1,0,1,2} 返回值 复制 {1,0,2,-1} 说明:本题目包含复杂数据结构TreeNode、ListNode,点此查看相关信息 typedef TreeNode Node; /** ...
分类:
其他好文 时间:
2021-01-27 12:51:44
阅读次数:
0
https://www.acwing.com/solution/content/3472/ 单链表 #include<iostream> using namespace std; const int N=1e6+10; // e[N]中存value,ne[N]存下一个结点的下标 int head,e ...
分类:
其他好文 时间:
2021-01-26 12:24:15
阅读次数:
0
定义简单单链表结构 public class ListNode { public int val; public ListNode next; public ListNode(int val = 0, ListNode next = null) { this.val = val; this.next ...