![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
huangbo12138
菜鸡想变强
展开
-
链表中环的入口节点
题目描述 一个链表中包含环,请找出该链表的环的入口结点。要求不能使用额外的空间。 解析:快慢指针。快慢指针相遇时,快指针走了2k长度,慢指针走了k长度。多的k长度就是环的长度。假设相遇点距离环入口为m,则环入口距离起始点为k-m,恰巧相遇点的指针再走k-m节点就为环入口。所以同时继续出发,再次相遇点就是环的入口。 public ListNode EntryNodeOfLoop(ListNode ...原创 2019-11-12 22:59:39 · 83 阅读 · 0 评论 -
反转链表
反转一个单链表 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 解析(1):递归 class Solution { public ListNode reverseList(ListNode head) { if(head.next == null){ ...原创 2019-11-10 18:16:42 · 74 阅读 · 0 评论 -
双指针到滑动窗口
双指针到滑动窗口算法 1、判定链表中是否含有环 解析:定义两个指针,一快一慢。如果有环,则会相遇。 boolean hasCycle(ListNode head){ ListNode fast,slow; fast=slow=head; while(fast != null&&fast.next!=null){ fast = fast.next.next;//快...原创 2019-11-10 17:58:51 · 765 阅读 · 0 评论 -
回文数相关
判定是否是回文数 例子: 输入: 121 输出: true 输入: -121 输出: false bool isPalindrome(int x) { if(x < 0 || (x % 10 == 0 && x != 0)){ return false; } int r = 0; ...原创 2019-11-10 17:54:57 · 67 阅读 · 0 评论