数组中出现次数超过一半的数字
#include <iostream> using namespace std; //是不是有效输入 bool IsValidMatrix(int * matrix,int length){ if(matrix==NULL||length<=0)
#include <iostream> using namespace std; //是不是有效输入 bool IsValidMatrix(int * matrix,int length){ if(matrix==NULL||length<=0)
//实现字符串每个字符 的全排列,并求取全排列的个数//分为三部分:1.首先,求取所有可能出现在第一个位置的字符;//2.其次,把第一个字符和其后面的字符一一交换;//3.接着,固定第一个字符,求后面所有字符的排列。重复步骤2 //全排列 #include<iostr
//实现二叉搜索树到双向链表的转换 #include <iostream> #include<queue> using namespace std; struct BinaryTreeNode{ int m_nValue; BinaryTr
//复制复杂链表 #include <iostream> using namespace std; struct ComplexListNode{ int m_nValue; ComplexListNode* m_pNext; Complex
//给定二叉树和一个值,找到二叉树中和等于这个值的路径 #include <iostream> #include<stack> #include<vector> using namespace std; struct BinaryTreeNod
//判断一个后序序列是不是二叉搜索树的后序遍历序列 //二叉搜索树的左子树<根节点;右子树大于根节点 #include <iostream> using namespace std; bool SequenceIsBST(int *sequence, int len
//根据先序和中序构建二叉树,然后按层打印每个节点,队列 #include <iostream> #include<queue> #include<exception> using namespace std; struct BinaryTr
//给定输入序列,判断给定的输出序列是不是真的 #include <iostream> #include<stack> using namespace std; bool IsPopOrder(const int* pPush, const int*
//O(1)时间找到栈中最小元素 #include <iostream> #include<stack> #include<assert.h> using namespace std; template <typename T> c