- 博客(17)
- 资源 (2)
- 收藏
- 关注
原创 http项目总结
HTTP超文本传输协议HTTP(hyper text transfer protocol),主要用于从WWW服务器传输超文本到本地浏览器上。http无状态性http是无状态协议,因为是无状态性,所以协议对事务处理是没有记忆的和独立的,也就是说,同一个客户端第二次访问这个服务器页面时,服务器不知道这个客户端曾经访问过,并且服务器无法分辨不同客户端。 无状态性使得http服务器设计很简单,并且可以有效
2017-07-31 16:11:19 672
原创 子树/最近公共祖先
判断一颗二叉树是是否是另一颗树的子树class Solution {public: bool test(TreeNode* T1,TreeNode* T2) { if(T1==NULL && T2==NULL) return true; if(T1==NULL||T2==NULL||T1->val!=T2->val)
2017-07-30 19:24:18 348
原创 二叉树前中后序/递归/非递归遍历/求链表差集
实现二叉树的前序/中序/后序非递归遍历。 前序: 递归:class Solution {public: /** * @param root: The root of binary tree. * @return: Preorder in vector which contains node values. */ void preorder(TreeN
2017-07-26 09:28:01 303
原创 判断平衡二叉树/二叉树镜像/一个m*n的矩阵,从左到右从上到下都是递增的,给一个数x,判断x是否在矩阵中
判断一棵二叉树是否是平衡二叉树方法一:class Solution {public: /** * @param root: The root of binary tree. * @return: True if this Binary tree is Balanced, or false. */ int depth(TreeNode* root)
2017-07-25 18:42:19 369
原创 FTP服务器总结
FTPFTP是文件传输协议(File Transfer Protocol),是TCP/IP协议组中的协议之一。工作在TCP/IP族的应用层,传输协议是基于TCP的。 FTP是基于C/S模式工作的,且客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。标准命令TCP端口号为21,Port方式数据端口为20。FTP传输模式(1)ASCII模式 假定用户正在拷贝的文件包含的简单
2017-07-24 23:43:04 2607
原创 求二叉树叶子节点的个数/求二叉树第k层的节点个数/一个数组中有一个数字的次数超过了数组的一半,求出这个字符
求二叉树叶子节点的个数int getLeafNode(Node* root) { if(NULL == root) return 0; if(NULL == root->left && NULL == root->right) return 1; return getLeafNode(root->left) + getLea
2017-07-22 23:34:37 392
原创 实现一颗二叉树的层序遍历/给定一个整数N,那么N的阶乘N!末尾有多少个0呢
实现一颗二叉树的层序遍历class Solution { /** * @param root : The root of binary tree. * @return : buttom-up level order a list of lists of integer */public: vector<vector<int>> levelOrderBo
2017-07-21 20:24:13 321
原创 元素出栈、入栈顺序的合法性/计算一个整数二进制位中1的个数。
元素出栈、入栈顺序的合法性。如:入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1),则合法。入栈的序列(1,2,3,4,5),出栈序列为(4,5,2,3,1),则不合法。 bool isLegally(const vector<int>& input,const vector<int>& output) { stack<int> st; int
2017-07-21 20:13:54 409
原创 实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1) /查找一个字符串中第一个只出现两次的字符
实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1) class Stack{public: void push(const int val) { st.push(val); if (st1.empty()) { st1.push(val);
2017-07-19 19:48:21 423
原创 使用两个栈实现一个队列/使用两个队列实现一个栈/空格替换
使用两个栈实现一个队列class MyQueue {public: stack<int> stack1; stack<int> stack2; MyQueue() { // do intialization if necessary } void push(int element) { // write your code he
2017-07-19 16:46:12 238
原创 O(1)时间复杂度删除链表节点/复制带随机指针的链表
在O(1)时间复杂度删除链表节点直接将需要删除节点的写一个节点的val直接赋值给需删除节点,然后删除他的next即可class Solution {public: /** * @param node: a node in the list should be deleted * @return: nothing */ void deleteNode(L
2017-07-17 20:02:50 361
原创 判断两个链表是否相交,若相交,求交点,若带环呢/fork继承问题
判断两个链表是否相交,若相交,求交点,若带环呢这里只贴判断是否相交代码(无环) 有环或不懂点这里class Solution {public: /** * @param headA: the first list * @param headB: the second list * @return: a ListNode */ ListNod
2017-07-16 22:59:59 245
原创 链表带环问题/设计一个类不能被继承/设计一个类只能在堆(栈)上创建对象
判断链表是否带环?若带环求环的长度?若带环求环的入口点?class Solution {public: /** * @param head: The first node of linked list. * @return: The node where the cycle begins. * if there is no cycle,
2017-07-15 15:37:40 235
原创 逆置、翻转链表/查找单链表的倒数第k个节点/A+B不使用四则运算++ -- 等
逆置/反转单链表非递归:class Solution {public: /** * @param head: The first node of linked list. * @return: The new head of reversed linked list. */ ListNode *reverse(ListNode *head) {
2017-07-14 15:32:00 291
原创 合并链表和求1+2+...+n不用循环、乘除法、循环、条件判断、选择相关的关键字
合并链表这里就不说了,稍微看下代码应该就可以懂了 递归:ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { // write your code here if(l1==NULL||l2==NULL) return l1==NULL?l2:l1; ListNode* hea
2017-07-13 17:04:03 342
原创 TIME-WAIT状态和reuse问题
前言上一篇看了TCP的三次握手与四次挥手,记得四次挥手,主动断开连接的一方最后一个状态就是TIME-WAIT状态,并且一定是主动断开连接的一方,它可能使socket能陷入一种时间比较长的状态,过多的TIME-WAIT会影响新socket的建立。那么TIME-WAIT为什么会存在?它的作用又是什么呢? TCP连接和断开连接状态转换图: TIME-WAIT从上图可以看到,客户端连接在收到服务器的结束
2017-07-02 12:55:50 2463
原创 【[TCP/ip】-TCP三次握手四次挥手
传输控制协议TCPTCP的特点: (1)TCP是面向连接的协议。(使用前先建立连接,结束释放) (2)每条TCP连接只能有两个端点,点对点的。(进程之间一对一)。 (3)TCP提供可靠传输。(传输的数据,无差错、不丢失、不重复、并且按序到达) (4)TCP提供全双工通信。(允许通信双方任意时候都可发送数据) (5)面向字节流的。(TCP把应用进程交下来的数据块看成仅仅是一串的无结构字节流)
2017-07-01 18:21:46 620
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人