https://www.nowcoder.net/practice/529d3ae5a407492994ad2a246518148a?tpId=13&tqId=11167&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 题目描述 输入一个链表,输出该链表中倒数第k个结点. 代码如下: /* struct ListNode { int val; struc…
题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 解题思路: 首先初始化一个起始指针preNode指向头结点.工作指针walkNode指向链表的第一个元素,即preNode.next=walkNode. 迭代开始: while(walkNode!=null){ 如果当前工作结点的数据域walkNode.val与下一个结点的数…
数据流中的中位数 牛客网 剑指Offer 题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值.我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数 class Solution: def __init__(self): self.left = [] self.right = [] self.count = 0 d…
矩阵中的路径 牛客网 剑指Offer 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子. 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第…
由于这道题目在牛客上没有,所以在此记录一下. 一.题目大意: 数字以0123456789101112131415…的格式序列化到一个字符序列中.在这个序列中,第5位(从0开始计数,即从第0位开始)是5,第13位是1,第19位是4,等等.请写一个函数,求任意第n位对应的数字. 二.题解<剑指offer>上提供了两种思路. 方法1: 第一种思路是:从0开始枚举每个数字.每枚举一个数字的时候,求出该数字是几位(如15是2位数.9323是4位数),并把该数字的位数和前面所有数字的位数累加.如果位数之和…
题意: 给定一个整数n,求1~n这n个整数中十进制表示中1出现的次数. 思路: 方法1:最直观的是,对于1~n中的每个整数,分别判断n中的1的个数,具体见<剑指offer>.这种方法的时间复杂度为O(N*logN),当N比较大的时候,一般会超时. 方法2:这种类别的题目,如果直观求解不行的话,那么通常是进行找规律,转化成一个数学问题.这道题目在<编程之美>上有着比较详细的描述,下面就结合一个实例进行具体的分析: 在分析之前,首先需要知道一个规律: 从 1 至 10,在它们的个位数中…
public class Solution { // 左神解法,本题本质还是报数为m-1的倍数的人死.求最后一个活着的人是初始时候的哪个人       /* 报数(A) 实际人员编号(B)        0 0 . . . . n-1 n-1 n 0 则可知B = A % n 同时,当杀了一个人之后,杀人前记为before,杀人后记为after. before               after k (k < n)            (没有了,因为被杀后变为n-1个人了) k+1 0 .…
题目描述: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 题目分析: 从上图中可以看出,环的入口结点和其他结点的区别:环的入口结点是有两个指针指向的,其他结点除了头结点都是只有一个指针指向的, 使用断链法,在当前结点访问完毕后,断掉指向当前结点的指针.因此,最后一个被访问的结点一定是入口结点. 代码实现: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { thi…
有段时间准备找工作,囫囵吞枣地做了<剑指offer>提供的编程习题,下面是题解收集. 当初没写目录真是个坏习惯(-_-)||,自己写的东西都要到处找. 提交的源码可以在此repo中找到:https://github.com/zhuli19901106/jobduoj 剑指Offer - 九度1524 - 复杂链表的复制 剑指Offer - 九度1509 - 树中两个结点的最低公共祖先 剑指Offer - 九度1508 - 把字符串转换成整数 剑指Offer - 九度1504 - 把数组排成最小…