Algorithm:链表、堆栈、队列相关的算法

一、链表

1.1、链表相加

如:输入:2->4->3、5->6->4,输出:7->0->8

1.2、链表相加
输入:2→4→3、5→6→4,输出:7→0→8

2.1、链表的部分翻转

如:给定1->2->3->4->5,m=2,n=4,返回1->4->3->2->5。

2.2、链表部分翻转
给定1->2->3->4->5,m=2,n=4,反转后,返回1->4->3->2->5

3.1、链表划分

如:给定链表1->4->3->2->5->2和x = 3,返回1->2->2->4->3->5。

3.2、链表划分
如:给定链表1→4→3→2→5→2和x = 3,返回1→2→2→4→3→5。

4.1、排序链表中去重

4.2、链表中去重:给定:2→3→3→5→7→8→8→8→9→9→10,返回:2→3→5→7→8→9→10

5、链表重复元素全部删除

若题目变成:若发现重复元素,则重复元素全部删除,代码应该怎么实现呢

给定:2→3→3→5→7→8→8→8→9→9→10,返回:2→5→7→10

二、堆栈

1、单链公共结点问题

2、一般LCA

3.1、括号匹配

3.2、括号匹配:给定字符串,仅由"()[]{}"六个字符组成。设计算法,判断该字符串是否有效。

4、最长括号匹配

5.1、最长括号匹配

5.2、用deep值替换了stack栈,空间复杂度由O(N)降到O(1)。

6.1、逆波兰表达式Reverse Polish Notation

6.2、RPN

7、直方图矩形面积

8、收集雨水问题

三、队列

1、最短路径条数问题

2、拓扑排序

猜你喜欢

转载自blog.csdn.net/qq_41185868/article/details/81383351