1,栈_有效的括号
给定一个只包括"()""{}""[]"的字符串,判断字符创是否有效
满足的条件: 1.左括号必须用相同类型的右括号闭合 2.左括号必须已正确的顺序闭合
输入:'()'
输出:true
输入:'(}'
输出:false
2,二叉树的前序遍历
二叉树
- 设定一个空数组存
- 节点值先访问根节点(递归遍历)如果节点为空,终止递归;
- 再访问当前节点的左子树;
- 若当前节点无左子树,则访问当前节点的右子树
function obj(root) {
const arr = []
function binary_tree(root) {
if (root === null) return;
arr.push(root.val);
binary_tree(root.left);
binary_tree(root.right);
}
binary_tree(root);
return arr;
};
3.排序_计数排序
以数组元素值为键,出现次数为值存进一个临时数组,最后再遍历这个临时数组还原回原数组