摘要:
20.有效的括号 知识点:栈;消消乐; 题目描述 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 输入:s = "()" 输出:true 输入:s = " 阅读全文
摘要:
1021. 删除最外层的括号 知识点:栈;消消乐 题目描述 有效括号字符串为空 ""、"(" + A + ")" 或 A + B ,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的连接。 例如,"","()","(())()" 和 "(()(()))" 都是有效的括号字符串。 如果有效字符串 阅读全文
摘要:
1047. 删除字符串中的所有相邻重复项 知识点:栈 题目描述 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例 输入:"abbaca" 输出 阅读全文
摘要:
27.移除元素 知识点:栈;队列; 题目描述 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 阅读全文
摘要:
剑指 Offer 09. 用两个栈实现队列 知识点:栈;队列; 题目描述 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )。 阅读全文
摘要:
递归 1. 概念 大师 L. Peter Deutsch 说过:To Iterate is Human, to Recurse, Divine.中文译为:人理解迭代,神理解递归。 通俗的讲:函数自己调自己; 再举一例子:比如说在电影院,你想知道自己在第几排,但是人太多黑咕隆咚的你也不能去数,怎么办呢 阅读全文
摘要:
二叉树 1.基本概念 二叉树是每个节点最多有两个子树的树结构,度可能是0,1,2; 完成二叉树:从左到右依次填满; 满二叉树:除了叶子节点,所有节点都有两个孩子,并且所有叶子节点在同一层; 2.性质 1.完全二叉树除了最后一层外,下一层节点个数是上一层两倍, 如果一颗完全二叉树的节点总数是n,那么叶 阅读全文