- 博客(2)
- 资源 (8)
- 收藏
- 关注
原创 141/142. Linked List Cycle [1, 2] [Easy, Medium]
141:Linked List Cycle142:Linked List Cycle II使用快慢指针,无环的情况很容易,下面分析有环时的一些性质。如下图所示,假设无环部分有x个节点,有环部分有y个节点。节点A是从前往后扫描刚进入环的第一个节点。判断是否有环慢指针slow,快指针fast初始时刻都指向head节点。slow一次走一步,fast一次走两步。slow走x步第一次进入环指向A,此时fast一定在环内。有可能此时fast刚好也指向A,可以立马判断有环。若此时fast不指向A,那么
2021-03-20 16:49:35 85
原创 108. Convert Sorted Array to Binary Search Tree [Easy]
一、思路和算法为了构建BST,应该在数组中选取一个数nums[i]用来构建根节点,nums[0, i - 1]用来构建左子树,nums[i + 1, n - 1]用来构建右子树。为了让二叉树尽量平衡,很自然的想法就是让根节点尽量在数组的中间,让数组左右两边的长度尽量相等。基于以上的直觉,当数组长度为2k + 1时,根节点选在数组正中间,左右两棵子树都分配k个节点。当数组长度为2k时,根节点选在数组中间靠左的位置,左子树分配k - 1个节点,右子树分配k个节点。二、证明很显然,上面的算法构建的是二叉
2021-03-18 01:12:33 114
Java 8实战
2019-03-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人