二叉树的迭代法前、中、后序遍历
// 前序 class Solution { public List<Integer> preorderTraversal(TreeNode roo…
// 前序 class Solution { public List<Integer> preorderTraversal(TreeNode roo…
递归解法我不再赘述。我讲一下迭代解法。迭代解法处理后序遍历的关键是处理根节点在第二次访问的时候它的值才会被加入到List。 所以需要用到一个prev变量保存当前…
学习 MySQL 需要安装 MySQL,我按照网上教程设置 my.ini 配置文件,但是网上的配置是针对 MySQL5 版本,MySQL5 版本的配置是 [my…
注意 if-else 的条件判断,这道题在处理 if-else 时要注意不能使用 if 代替 if-else,因为每一次循环要么往栈里面添加元素,要么判断是否符…
1、 这道题如果用暴力方法直接在原来的字符串里面找,时间复杂度是 O(n^2)。 2、 使用 KMP 算法求出 next 数组,通过 next 数组找到 nex…
1. KMP字符串匹配算法中重要的部分是获得next数组,然后通过next数组寻找当文本串和模式串不匹配时模式串的字符回退的位置。并且在文本串和模式串不匹配时,…
快速排序在面试题中经常被问,总结一下。 快速排序的思想是对冒泡排序的改进,并且使用了递归,它通过把待排序元素划分成左右两个子数组减少比较次数。它的核心算法是求分…
错误的方法:我一开始套用数组排序的方法,想着把小于x的元素都两两交换,但是这道题的数据结构是链表,所以无法倒序遍历。另外这道题采用链表就是想考察链表的相关增、删…
讲一下我的思路 一开始我想的是倒序遍历,查看nums[i]==0的元素前面的值是否大于等于从0开始经过的距离,这种做法条件判断很繁琐,不是正确的做法。 下面讲解…
这一题主要考的是数学关系。 要想通过一趟扫描就找到倒数第n个结点,可以考虑用快的结点比慢的结点多走n步。 然后当快结点的next是null,就停止遍历。当然,为…