栈的链表的操作和线性表的链式存储结构差不多。 我们用图来形象表达一下 线性表的顺序存储结构: 链栈: 链栈的基本操作有栈的初始化、插入数据、删除数据、遍历栈 对应的代码为: //栈的初始化 int InitStack(Stack *stack){ stack->top=stack->bottom=N ...
分类:
其他好文 时间:
2021-06-11 18:10:14
阅读次数:
0
任何容器的底层数据结构只有两种:一种是数组;另一种是链表。例如:list,set,map,二叉树,图等容器。访问容器使用Iterator迭代器。 public interface Collection_ { void add(Object o); int size(); Iterator_ iter ...
分类:
其他好文 时间:
2021-06-10 18:43:23
阅读次数:
0
简介 递归的算法很巧妙. 算法思想: 判断递归终止条件 将链表划分成两部分 进行递归判断左右 将返回的两部分头结点, 进行有序合并 返回 头结点 code /** * Definition for singly-linked list. * struct ListNode { * int val; ...
分类:
编程语言 时间:
2021-06-10 17:32:08
阅读次数:
0
题解: 方法1: 哈希表:遍历所有节点,每次遍历到一个节点时,判断该节点是否被访问过。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x ...
分类:
其他好文 时间:
2021-06-08 22:22:53
阅读次数:
0
##原理 ###哈希表的结构 哈希表又被称为数组链表。当插入删除操作和取值操作都较频繁时,我们可以采用哈希表来作为集合的数据结构。 定义:哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录, ...
分类:
编程语言 时间:
2021-06-06 19:14:07
阅读次数:
0
题目 1、描述 输入一个链表,反转链表后,输出新链表的表头。 2、示例 输入: {1,2,3} 输出: {3,2,1} 思路 1、初始化:3个指针 (1)pre指针指向已经反转好的链表的最后一个节点,最开始没有反转,所以指向nullptr (2)cur指针指向待反转链表的第一个节点,最开始第一个节点 ...
分类:
编程语言 时间:
2021-06-06 19:05:34
阅读次数:
0
LeetCode 2. Add Two Numbers(两数相加) 题目 链接 https://leetcode-cn.com/problems/add-two-numbers 问题描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 ...
分类:
其他好文 时间:
2021-06-06 18:53:03
阅读次数:
0
LeetCode 203.Remove Linked List Elements(移除链表元素) 题目 链接 https://leetcode-cn.com/problems/remove-linked-list-elements 问题描述 给你一个链表的头节点 head 和一个整数 val ,请你 ...
分类:
其他好文 时间:
2021-06-05 18:19:42
阅读次数:
0
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 三种方法:1、暴力遍历 2、双指针(建议) 3、哈希表 1、暴力遍历 特判:如果两个链表其中一个为空,则返回空 思想:利用两个指针,A指针指向一条链表的一个节点,B ...
分类:
其他好文 时间:
2021-06-04 19:32:40
阅读次数:
0
LeetCode 83. Remove Duplicates from Sorted List(删除排序链表中的重复元素) 题目 链接 https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list 问题描述 存在一个按升序排列 ...
分类:
编程语言 时间:
2021-06-04 19:14:00
阅读次数:
0