- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 二叉搜索树转化双向链表
题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表要求排序可以想到中序遍历,把根节点的左右子树都转换成排序好的双向链表,再将根节点左子树的最大值,右子树的最小值与根节点相连。class Solution {public: TreeNode* Convert(TreeNode* pRootOfTree) { TreeNode *last
2016-10-30 13:21:01 300
原创 二叉树的深度
最大深度class Solution {public: int TreeDepth(TreeNode* pRoot) { if(pRoot==NULL) return 0; int l=TreeDepth(pRoot->left)+1; int r=TreeDepth(pRoot->right)+1;
2016-10-27 11:27:17 369
原创 整数中1出现的次数(从1到n整数中1出现的次数)
class Solution {public: int NumberOf1Between1AndN_Solution(int n) { int ones = 0; for (long long i = 1; i <= n; i *= 10) ones += (n/i + 8) / 10 * i + (n/i % 10 == 1)
2016-10-20 12:22:31 361
原创 网络中的连接设备
转发器(集线器):转发器是一种仅工作在物理层的设备,转发器在信号衰减前接收信号并再生发送出去。它所连接的是同样局域网的两个网段,并且没有过滤功能。网桥:网桥工作在物理层和数据链路层。作为物理层的设备,它具有转发器的功能。作为数据链路层的设备,它可以检查MAC地址。网桥不改变帧中的MAC地址。路由器:路由器工作在物理层,数据链路层,网络层。作为网络层的设备,路由器可以检查IP地址
2016-10-16 11:51:24 623
原创 找出数组中出现次数超过一半的数
如果有一个数出现的次数超过一半,那他出现的次数肯定比其他数字出现次数的和还要多,这时可以遍历数组并保存两个值,一个是出现的数字,一个是次数,当下一个数字和保存的数字相同时,次数加1,如果不同,次数减1,如果次数为0,我们需要保存下一个数字,并将次数设为1。最后保存的数字即为所求。同时考虑空数组和没有出现次数超过一半的情况。class Solution {public: int Mor
2016-10-14 19:43:45 769
原创 剑指offer-复杂链表的复制
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。方法1:先按next建立好初始链表,然后从头结点开始遍历原链表每个节点的random指针需要走几步,在新建立的链表中走同样的步数建立random指针。/*struct RandomListNode { int label; stru
2016-10-06 23:14:57 255
C++开源协程库libco-原理与应用
2018-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人