![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
hblack_313
这个作者很懒,什么都没留下…
展开
-
对于一个给定的链表,返回环的入口节点,如果没有环,返回null
思路:遍历链表,将节点存入Set,遇到重复节点即返回。 import java.util.*; public class Solution { public ListNode detectCycle(ListNode head) { if(head == null){ return null; } Set set = ...原创 2020-02-14 15:55:33 · 469 阅读 · 0 评论 -
利用插入排序对链表进行排序
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ //直接插入...原创 2020-02-14 14:05:31 · 238 阅读 · 0 评论 -
在O(n log n)时间内使用常数空间复杂度对链表进行排序
用归并排序,链表存储的归并排序 时间复杂度O(nlogn)空间复杂度 O(1) 归并排序的一般步骤为: 1)将待排序数组(链表)取中点并一分为二; 2)递归地对左半部分进行归并排序; 3)递归地对右半部分进行归并排序; 4)将两个半部分进行合并(merge),得到结果。 所以对应此题目,可以划分为四个步骤: 1)找到链表中点 (快慢指针思路,快指针一次走两步,慢指针一次走一步,快指针在链表末尾时,...原创 2020-02-14 11:16:52 · 227 阅读 · 0 评论 -
求给定二叉树的最小深度
最小深度是指树的根结点到最近叶子结点的最短路径上结点的数量。 解法一:递归 1、最开始想到每一个父亲节点的最小深度都是其子节点最小深度数加一。 2、当本节点为空时,返回深度0; 3、当本节点的左孩子和右孩子为空的时候,返回深度1; 4、当左孩子为空,右孩子非空时,返回右孩子的最小深度加一 5、当右孩子为空,左孩子非空的时候,返回左孩子的最小深度加一 6、最后一种为左右孩子都非空的情况,返回左右孩子...原创 2020-02-13 14:39:02 · 529 阅读 · 0 评论