![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
庄ZY颜
这个作者很懒,什么都没留下…
展开
-
《剑指Offer》面试题56:链表中环的入口节点
1.首先判断该链表中是否存在环(使用快慢指针来判断); 2.如果存在环,设环的节点为m个,快指针经过的节点数为2n个,慢指针经过的节点为n个,那么快指针所走的节点为n2比慢指针n1走的节点数多m(即2n=m+n)个,所以n1和n2相交的位置为链表的第n个节点,重置n1或者n2都可以找到环的入口。 package com.test20160709;/** * Created by yan on原创 2016-07-09 20:36:09 · 324 阅读 · 0 评论 -
《剑指Offer》面试题57:删除链表中重复的节点
题目:在一个排序的链表中,如何删除重复的节点? 样例输入: 1 2 3 3 4 4 5 样例输出: 1 2 51.新建一个头节点,以防第一个节点被删除。 2.保存当前节点上个节点,循环遍历整个链表,如果当前节点的值与下一个节点的值相等,则将当前节点的值与next.next节点的值比较,直到不相等或者null为止,最后将当前节点的上个节点pre指向最后比较不相等的节点。 3.如果当前节点与ne原创 2016-07-09 21:07:30 · 2496 阅读 · 0 评论 -
《剑指Offer》面试题55:字符流中第一个不重复的字符
思路: 1.使用一个容器保存字符的当前下标,所有字符下标初始为0,插入的时候,如果判断这个字符下标数组不为0,则表明字符已经出现过,直接将数组置为1即可,否则则置为当前index值,并且index++,时间复杂度为O(1); 2.查找第一不重复字符时,循环判断整个容器数组保存的值,找出index值最小的一个数据,即为最先插入的字符。时间复杂度为O(256),因为256为常数,即复原创 2016-07-10 13:14:25 · 312 阅读 · 0 评论