摘要: 二叉树是数据结构的基础,递归的版本是十分简单而且简洁,但是非递归版本就相对比较复杂些。1.前序非递归便利二叉树: 前序比较简单,从根开始访问,并一直往左,同时将访问后节点的右子树入栈(如果存在的话),直到栈空。void preorder(TreeNode* root){ stack<TreeNode*> st; if (root == NULL) return ; st.push(root); while (!st.empty()) { TreeNode* p = st.top(); st.pop(); while (p... 阅读全文
posted @ 2012-12-30 16:05 David Luo 阅读(1256) 评论(0) 推荐(0) 编辑
摘要: Given an unsorted integer array, find the first missing positive integer.For example,Given[1,2,0]return3,and[3,4,-1,1]return2.此题关键在于理解first missing positive intege。题意为:一共n个数,有正数有负数,还有0.找到一个最小的正数不在这个集合中可以分析得到,整个最小的正数,最小是1,最大是 n + 1.解法1:用hash保存一下每个元素,然后从1开始查,check是否在hash里面,不在输出即可。简单明了,但是如果空间复杂度有限制?即 不 阅读全文
posted @ 2012-12-30 11:40 David Luo 阅读(151) 评论(0) 推荐(0) 编辑