22链表中倒数第k个节点
题目链接题目描述:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。
实例:
解题思路 常规思 ...
341扁平化嵌套列表迭代器
题目链接题目描述:给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。
实例:
输入: [[1,1],2,[1,1]]输出: [1,1,2,1,1]解释: 通过重复调用 next 直到 hasNext 返回 false, ...
模拟系统栈的二叉树非递归遍历
来自leetcode原题二叉树前序遍历、中序遍历、后续遍历
声明: 参考慕课的liuyubobobo老师的思路!!!老师太厉害了~ 有别于教科书的经典非递归实现方式,本文采用模拟系统栈的方式实现非递归,目的是有助于理解递归与栈的紧密关系。并且,三种遍历的代 ...
86分割链表
题目链接题目描述:给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。
实例:
输入: head = 1->4->3->2->5->2, x = 3输出: 1->2-& ...
83删除排序链表中的重复元素
题目链接题目描述:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
实例:
输入: 1->1->2->3->3输出: 1->2->3
题解: 本题比较简单,主要考察移动链表指针操作,使用单个指针移动判重即可。设置当前指针cu ...
202快乐数
题目描述:编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。
实例:
输入: 19输出: ...
从设计循环不变量浅谈快速排序
写在前面 本人最近准备面试,在刷leetcode过程中遇到了类似于荷兰国旗的问题,于是特意回看了一下快速排序算法,也加深了对其的理解。作为一种feedback的方式,写一篇blog谈一谈对快排的认识。
目录
概述
基本算法
算法改进
例题
概述 快速排序 ...