摘要: https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/构造一个按深度索引的数组,存储的当前遍历的结点在这一层的最右边的结点。由前序遍历的特点可知同一层左边的儿子先被访问,过一段时间后会访问右边的儿子。... 阅读全文
posted @ 2014-10-14 20:28 zombies 阅读(100) 评论(0) 推荐(0) 编辑
摘要: https://oj.leetcode.com/problems/pascals-triangle-ii/类似DP的迭代方法,只需注意数组大小分配即可。class Solution {public: int n,m; vector c[2]; vector getRow(int r... 阅读全文
posted @ 2014-10-14 16:34 zombies 阅读(109) 评论(0) 推荐(0) 编辑
摘要: https://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/一道很典型的题。使用两个距离为n的指针,往后移动到后面遇到尾端。第一个指针指向结点就是待删除结点。/** * Definition for singly-linked ... 阅读全文
posted @ 2014-10-14 15:40 zombies 阅读(151) 评论(0) 推荐(0) 编辑
摘要: https://oj.leetcode.com/problems/trapping-rain-water/这道题使用单调队列能够O(n)时间解决。维护一个降序排列的单调队列。如果Ai>A[que.front]就说明能够使用que.front作为顶部计算一次积水。当从0-n时,须注意队列中还有元素。需... 阅读全文
posted @ 2014-10-14 14:48 zombies 阅读(457) 评论(0) 推荐(0) 编辑
摘要: https://oj.leetcode.com/problems/search-in-rotated-sorted-array/一个被旋转的数组,要求二分搜索查询一个数。修改二分搜索可以完成。注意可以通过A[l]A[r]时,中间有一个间断点。可以通过A[mid]>A[r]来判断中点与旋转中心的位置关... 阅读全文
posted @ 2014-10-14 01:49 zombies 阅读(119) 评论(0) 推荐(0) 编辑
摘要: https://oj.leetcode.com/problems/flatten-binary-tree-to-linked-list/实现一个返回值为子树r展开后最右边节点的函数。然后使用这个函数适当的将展开后的右子树移到左子树的尾部,再将left指针置为0即可。/** * Definition ... 阅读全文
posted @ 2014-10-14 00:04 zombies 阅读(161) 评论(0) 推荐(0) 编辑