
面试
文章平均质量分 79
忧伤的肚腩
华中科技大学计算机专业在读
展开
-
树的四种遍历方式
树的中序遍历非递归思路使用stack替换掉递归while(两种情况) (1)一直走到树的最左边结点,把左边的结点全部压入stack, (2)走完左边的结点后,出stack, 继判断是否最左边的结点是否有右结点 如果有右结点,则对这个子树执行(1)中同样的操作,回到步骤一 2.出stack的同时访问结点代码(Java) // Def...原创 2018-07-29 11:48:55 · 21905 阅读 · 2 评论 -
Leetcode 82. Remove Duplicates from Sorted List II
题目描述Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.Example 1:Input: 1->2->3->3->4->4->5 Output:...原创 2018-07-31 11:56:42 · 129 阅读 · 0 评论 -
RPC 知识讲解
远程过程调用(调用部署在远程机器上的服务)就是RPC(Remote Procedure Call Protocol),在各大互联网公司中被广泛使用,如阿里巴巴的HSF、Dubbo(开源)、Facebook的Thrift(开源)、Google GRPC(开源)、Twitter的Finagle(开源)等。...转载 2018-09-02 10:37:05 · 566 阅读 · 0 评论 -
# 洗牌算法
基本概念等概率将将一个数组N打乱,概率每次都是1/N,加上方法一全局洗牌, 从 0到N-1的数组下标,每次随机产生两个0到 N-1之间的数,进行交换void get_rand_number(int array[], int length){ int index; int value; int median; if(NULL == array || 0 == length)...原创 2018-09-20 08:57:51 · 193 阅读 · 0 评论 -
141.判断链表是否有环操作
单链表与环的情况1.判断链表是否有环对于这个问题我们可以采用“快慢指针”的方法。就是有两个指针fast和slow,开始的时候两个指针都指向链表头head,然后在每一步操作中slow向前走一步即:slow = slow->next,而fast每一步向前两步即:fast = fast->next->next。由于fast要比slow移动的快,如果有环,fast一定...原创 2018-09-15 09:42:20 · 130 阅读 · 0 评论 -
Leetcode解题技巧总结
递归的出口和和参数不满足条件参数不满函数处理的条件,直接返回错误代码判断出口条件优先级队列//使用PriorityQueue实现大顶堆//PriorityQueue默认是一个小顶堆,然而可以通过传入自定义的Comparator函数来实现大顶堆。如下代码:private static final int DEFAULT_INITIAL_CAPACITY = 11;Priority...原创 2018-10-15 23:58:31 · 2556 阅读 · 0 评论