![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
手写代码
文章平均质量分 60
猪扒饭
这个作者很懒,什么都没留下…
展开
-
二叉树中序遍历
(就是中序不需要,根指针压栈,也不需要事先判断根指针非空)栈非空或者根指针非空就一直循环 若根指针非空 根指针压栈 根指针向左移动 否则 元素出栈放入根指针 将值放入结果中 根指针向右移动返回结果 vector res;原创 2015-10-17 17:38:13 · 416 阅读 · 0 评论 -
二叉树后序遍历
确定root非空设prev指针为空根入栈栈非空就一直循环 取栈顶元素到cur,但不出栈 检查该节点是否没有左右孩子,并设标记 检查cur的左右孩子是否与prev相同,确定子节点是否已访问 若没有子节点,或子节点已处理 cur值放入结果中 栈顶元素出栈 将当前值付给p原创 2015-10-17 17:39:24 · 399 阅读 · 0 评论 -
二叉树层序遍历
主要流程确定root非空根指针进队列队列非空就一直循环 依次扫描目前队列中所有元素(新增的不算) 从队列取出第一元素 将值放入结果vector中 判断左右子节点非空,并依次入队 将本次结果放入二维数组中如果需要按层逆序输出的话,在这里将二维结果倒排一下返回二维结果原创 2015-10-17 17:40:54 · 451 阅读 · 0 评论 -
面试手写代码的一些经验
手写代码,指完全脱离计算机,用笔纸进行编码,有这些好处1. 面试需要2. 能完全静下心来,专注思考建议步骤1. 理解题目,思考问题的非法输入(空指针,空字符串),特殊条件(数组仅包含一个项目,除零)。需要与面试官讨论,或者在代码前部判断去除2. 想到解法以后,写出关键步骤伪代码,防止细化的时,精力分散,遗漏一些步骤3. 编码4. 一定要耐心再次检查,花不了多少时原创 2015-10-11 21:06:17 · 4450 阅读 · 0 评论 -
reverse words in a sentence
题目要求反转句子中每个单词的顺序,单词简单的以空格分隔inputHow are you?outputyou? are How想到的测试用例1. 首位有空格,目前结果中,首位也会有空格2. 连续空格的情况,目前结果也会有连续空格3. 单词只有一个字母4. 输入为空串解题思路两次反转,第一次反转整句话,第二次反原创 2015-10-11 21:11:42 · 444 阅读 · 0 评论 -
Product of Array Except Self
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].Solve it without division an原创 2015-10-11 22:29:36 · 502 阅读 · 0 评论 -
二叉树前序遍历
前序遍历,就是 根-左-右 的顺序。有递归和非递归的解法,递归还分遍历和分治两种解法,下面直接给出代码递归遍历的解法,最直观的代码,这里需要辅助函数vector preorder(Tree* root) { vector res; preoder_rec(root, res); // 不需要判NULL,函数内部会处理 return res;} void preor原创 2015-10-13 20:42:06 · 407 阅读 · 0 评论