链表 单链表:链表中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素的引用字段链接在一起. 双链表:与单链表不同的是,双链表的每个节点都含有两个引用字段. 链表优点 灵活分配内存空间 能在O(1)时间内删除或者添加元素(单链表前提是元素的前一个元素已知,双链表前提是前后元素已知) 缺点 查询一个元素需要O(n)时间(从头根据引用找到下一个节点) 解题技巧 利用快慢指针(有时候需要用到三个指针)(例如:链表翻转,寻找倒数第k个元素,寻找链表中间位置的元素,判断链表是否有环) 构建一个虚假…
给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表.k 是一个正整数,它的值小于或等于链表的长度.如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序. 示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2->1->4->5 说明 :你的算法只能使用常数的额外空间.你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交…
@author: ZZQ @software: PyCharm @file: ReverseList.py @time: 2018/11/6 15:13 题目要求:给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度.如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序. 示例 : 给定这个链表:1->2->3->4->5 当 k = 2 时,应当返回: 2->1->4->3->5 当 k =…
首先说明,当每日一题标号不是整数时代表此题是较为简单的,我在这里整理一遍主要是我做错了(没错是我太菜各位大佬无视就好) 题目: 读入一个字符串str,输出字符串str中的连续最长的数字串 此题思路清晰下面给出我自己的解法: 我第一次做的正确答案时使用迭代器进行遍历完成的 #include<iostream> #include<string> using namespace std; void FFind(string s){ auto it = s.begin(); string…
[js]Leetcode每日一题-完成所有工作的最短时间 [题目描述] 给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间. 请你将这些工作分配给 k 位工人.所有工作都应该分配给工人,且每项工作只能分配给一位工人.工人的 工作时间 是完成分配给他们的所有工作花费时间的总和.请你设计一套最佳的工作分配方案,使工人的 最大工作时间 得以 最小化 . 返回分配方案中尽可能 最小 的 最大工作时间 . 示例1: 输入:jobs = [3,2,3], k = 3 输出:…
[python]Leetcode每日一题-二叉搜索迭代器 [题目描述] 实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器: BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象.BST 的根节点 root 会作为构造函数的一部分给出.指针应初始化为一个不存在于 BST 中的数字,且该数字小于 BST 中的任何元素. boolean hasNext() 如果向指针右侧遍历存在数字,则返回 true :否…
[python]Leetcode每日一题-删除排序链表中的重复元素2 [题目描述] 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字. 返回同样按升序排列的结果链表. 示例1: 输入:head = [1,2,3,3,4,4,5] 输出:[1,2,5] 示例2: 输入:head = [1,1,1,2,3] 输出:[2,3] 提示: 链表中节点数目在范围 [0, 300] 内 -100 <= Node.val…
[LeetCode每日一题]88. 合并两个有序数组 问题 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 初始化 nums1 和 nums2 的元素数量分别为 m 和 n .你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素.   示例 1: 输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3 输出:[1…
目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize的区别. 4.Errror , Exception,RuntimeException区别 5.Java语言如何进行异常处理,关键字:throws.throw.try.catch.finally分别如何使用. 6.throw和throws有什么区别? 7.请说一下你常用的几种异常? 8.线程的基本概念…
20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; public class Ques0106 { public void method01(String... strings, int num){ } public void method02(String... strings, int... is){ } } 今日问题: 以上两个方法使用了变长参数,请问这…