题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 示例1 输入 复制 输出 复制 # -*- coding:utf-8 -* ...
分类:
其他好文 时间:
2019-03-18 15:19:31
阅读次数:
137
Given a linked list, determine if it has a cycle in it. To represent a cycle in the given linked list, we use an integer pos which represents the posi ...
分类:
其他好文 时间:
2019-03-16 12:32:44
阅读次数:
167
弄懂了思路: 首先判断是否为环:快慢指针,快是慢的两倍,如果相遇则有环;此时两个指针走的路程差就是环的长度或长度的n倍; 头到入口:a;环长度:b;相遇点到入口:c; 则 2*(a+b-c) = a+b+b-c; 得a=c; 即头到入口=相遇点到入口。 将快指针指向头,相同速度移动,遇到即为入口结点 ...
分类:
其他好文 时间:
2019-03-11 13:26:49
阅读次数:
128
题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 /* 时间复杂度为O(n),两个指针,一个在前面,另一个紧邻着这个指针,在后面。 两个指针同时向前移动,每移动一次,前面的指针的next指向NULL。 也就是说:访问过的节点都断开,最后到达的那个节点一定是尾节点的 ...
分类:
其他好文 时间:
2019-03-11 00:44:26
阅读次数:
180
题目描述: 输入一个链表,输出该链表中倒数第k个结点。 尾节点是倒数第一个节点 测试用例: 功能测试(第k个节点在中间、是头节点、是尾节点) 特殊输入测试(链表头节点是nullptr指针、链表的头节点个数小于k、k=0) 解题思路: 1)使用两个指针,一个指针先移动k步,如果链表小于k,终止返回nu ...
分类:
其他好文 时间:
2019-02-28 11:51:04
阅读次数:
141
1.题目 输入一个链表,输出该链表中倒数第k个结点。 2.思路 Java代码,通过校验。代码思路如下:两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。 然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了。 ...
分类:
其他好文 时间:
2019-02-25 20:19:57
阅读次数:
136
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 字符数组和字符串的区别,C语言字符数组和字符串区别详解 开始的想法是在对字符数组设置两个指针,初始化一个在位置0一个 ...
分类:
其他好文 时间:
2019-02-25 18:17:32
阅读次数:
191
一、浅拷贝及其不足 对于基本类型数据以及简单的对象,它们的拷贝比较简单,就是直接复制内存。比如下面的代码: b 和 obj2 都是以拷贝的方式初始化的,具体来说,就是将 a 和 obj1 所在内存中的数据按照二进制位(Bit)复制到 b 和 obj2 所在的内存,这种默认的拷贝行为就是浅拷贝,这和调 ...
分类:
编程语言 时间:
2019-02-24 23:09:03
阅读次数:
252
[CF1109B] Sasha and One More Name 先把无解情况aaabaaa、aaaaaa判掉,然后我们可以证明答案不会超过2。 对于一个回文串,两个指针从两端向内移动直到字符发生变化,在这里看一刀然后交换左右两端即为一种合法方案。 所以我们只需要判断答案是否能为$1$,暴力判即可 ...
分类:
其他好文 时间:
2019-02-24 00:38:54
阅读次数:
195