- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 **LeetCode—Word Break
Given a string s and a dictionary of words dict, determine ifs can be segmented into a space-separated sequence of one or more dictionary words.For example, givens = "leetcode",dict = ["leet",
2015-02-10 17:24:02 749
原创 LeetCode—*Valid Number
Validate if a given string is numeric.Some examples:"0" => true" 0.1 " => true"abc" => false"1 a" => false"2e10" => true主要就是判断一个字符串是不是一个数字,这个题目不是很难,主要是要把所有的情况理清楚首先有一些情况是允许的1.
2015-02-04 17:14:00 624
原创 LeetCode—Best Time to Buy and Sell Stock
Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock),
2015-02-04 16:37:29 703
原创 利用特殊的二叉树层序重构二叉树
如果直接利用二叉树的层序是没有办法构建一个二叉树的,但是如果是完全二叉树应该是可以的这里层序序列中用-1表示当前节点没有值构建主要采用了非递归的方法,利用了queue,因为层序的遍历可以通过queue来实现那么自然也可以通过这个方法进行构建#include #include #include using namespace std; typedef struct T
2015-02-04 15:26:41 836
原创 二叉树,递归非递归遍历算法(全)
包含了所有的非递归和递归的算法:#include #include #include using namespace std; //二叉树结点的描述 typedef struct BiTNode { char data; struct BiTNode *lchild, *rchild; //左右孩子 }BiTNode,*BiTree;
2015-02-03 21:11:15 806
原创 二叉排序树的完整实现
在排序中,之前利用大小根堆的方式,保持最小值或者最大值在堆顶端二叉排序树是保持这棵树一直是有序的二叉排序树的建立,不同于堆操作只需要对非叶子节点进行处理,保持其大于左右孩子,或者是小于左右孩子,而是需要对每一个点都进行处理,因为他是相对而言更加严谨的操作查找一个数据:对于大根堆操作,如果当前值小于根节点,那么这个值在左右分支出现都是由可能得,但是对于BST,如果小那么肯定在
2015-02-03 19:13:40 1453
原创 堆排序—大根堆,小根堆
1.小根堆若根节点存在左子女则根节点的值小于左子女的值;若根节点存在右子女则根节点的值小于右子女的值。2.大根堆若根节点存在左子女则根节点的值大于左子女的值;若根节点存在右子女则根节点的值大于右子女的值。3.结论(1)堆是一棵完全二叉树(如果公有h层,那么1~h-1层均满,在h层连续缺失若干个右叶子)。(2)小根堆的根节点的值是最小值,大根堆的根节点的值是最大值。(3)
2015-02-02 20:40:02 6889
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人