DAY14-15 栈和栈的应用
压栈(push)和弹栈(pop)
当执行压栈操作时,新元素被放置在栈顶,现有元素向下移动一位。
当执行弹栈操作时,栈顶元素被移除,现有元素向上移动一位。
括号匹配问题
switch语句根据 tempChar 的值执行不同的操作。
——遇到左括号 (、[ 或 {,则将其压入 tempStack 栈中。
——遇到右括号 )、] 或 },则:
从 tempStack 中弹出栈顶元素,并将其存储到 tempPopedChar 变量中。
检查 tempPopedChar 是否与当前遇到的右括号的匹配左括号相同:
如果匹配,则继续循环。
如果不匹配,则返回 false,表示括号不匹配。
DAY16 递归
递归运行到参数=1开始弹栈。经典运用:斐波那契数列。
DAY17-18队列
注意:循环队列检查队空队满
队空:head == tail
队满:(tail + 1) % TOTAL_SPACE == head
DAY19 字符串匹配
查找字符串起始位置、截取子字符串
DAY21 二叉树的深度遍历的递归实现
preOrderVisit、inOrderVisit、postOrderVisit
先序遍历、中序遍历、后序遍历
根左右、左根右、左右根
getDepth 方法
分别计算左右子树的深度并得到二叉树深度
getNumNodes 方法
分别计算左右子树的节点数量并得到二叉树总节点数量