![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 83
忧伤的肚腩
华中科技大学计算机专业在读
展开
-
树的四种遍历方式
树的中序遍历非递归 思路使用stack替换掉递归 while(两种情况) (1)一直走到树的最左边结点,把左边的结点全部压入stack, (2)走完左边的结点后,出stack, 继判断是否最左边的结点是否有右结点 如果有右结点,则对这个子树执行(1)中同样的操作,回到步骤一 2.出stack的同时访问结点 代码(Java) // Def...原创 2018-07-29 11:48:55 · 21814 阅读 · 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 · 104 阅读 · 0 评论 -
RPC 知识讲解
远程过程调用(调用部署在远程机器上的服务)就是RPC(Remote Procedure Call Protocol),在各大互联网公司中被广泛使用,如阿里巴巴的HSF、Dubbo(开源)、Facebook的Thrift(开源)、Google GRPC(开源)、Twitter的Finagle(开源)等。...转载 2018-09-02 10:37:05 · 502 阅读 · 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 · 150 阅读 · 0 评论 -
141.判断链表是否有环操作
单链表与环的情况 1.判断链表是否有环 对于这个问题我们可以采用“快慢指针”的方法。就是有两个指针fast和slow,开始的时候两个指针都指向链表头head,然后在每一步操作中slow向 前走一步即:slow = slow->next,而fast每一步向前两步即:fast = fast->next->next。 由于fast要比slow移动的快,如果有环,fast一定...原创 2018-09-15 09:42:20 · 105 阅读 · 0 评论 -
Leetcode解题技巧总结
递归的出口和和参数不满足条件 参数不满函数处理的条件,直接返回错误代码 判断出口条件 优先级队列 //使用PriorityQueue实现大顶堆 //PriorityQueue默认是一个小顶堆,然而可以通过传入自定义的Comparator函数来实现大顶堆。如下代码: private static final int DEFAULT_INITIAL_CAPACITY = 11; Priority...原创 2018-10-15 23:58:31 · 2501 阅读 · 0 评论