1.有效的括号
2.用栈实现队列
3.用队列实现栈
栈和队列的基础知识:
定义:栈是一种遵循后进先出原则的有序集合。新添加的或待删除的元素都保存在栈的同一端,称为栈顶,另一端就称为栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。
主要操作:
- push(element):向栈顶添加一个元素。
- pop():移除栈顶的元素,并返回该元素。
- peek() 或 top():返回栈顶的元素,但不从栈中移除它。
- isEmpty():检查栈是否为空。
- size():返回栈中的元素个数。
定义:队列是一种遵循先进先出(FIFO, First In First Out)原则的有序集合。队列的尾部用于添加新元素,而队列的头部用于移除元素。队列的操作在两端进行,一端是队尾(rear),用于添加元素;另一端是队头(front),用于移除元素。
主要操作:
- enqueue(element):在队尾添加一个元素。
- dequeue():移除队头的元素,并返回该元素。
- front():返回队头的元素,但不从队列中移除它。
- rear():返回队尾的元素(在某些实现中可能不提供此操作)。
- isEmpty():检查队列是否为空。
- size():返回队列中的元素个数。
4.删除字符串中的所有相邻重复项
5. 逆波兰表达式求值