![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
凌晨三点的北京
行到水穷处 坐看云起时
展开
-
leetcode算法题之合并两个升序链表
题目: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 解决方法: /** * Example: * var li = ListNode(5) * var v = li.`val` * Definition for singly-linked list. * class ListNode(var `val`: Int) { * var next: ListNode? = null * } */ class Solution {原创 2022-03-19 21:22:15 · 403 阅读 · 0 评论 -
排序算法
冒泡排序 代码非常简单,使用双循环进行排序。外部循环控制所有的回合,内部循环实现每一轮的冒泡处理,先进行元素比较,再进行元素交换。 class ExampleUnitTest { @Test fun addition_isCorrect() { assertEquals(4, 2 + 2) val array = intArrayOf(5, 8, 6, 3, 9, 2, 1, 7) sort(array) println(Arr原创 2021-01-17 21:58:55 · 78 阅读 · 0 评论 -
合并两个有序链表
合并两个有序链表 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 题解 思路 :定义一个新的链表和一个指针,遍历两个链表,对比大小,追加到新链表的后一个节点,链表指针后移。 时间复杂度O(n) 空间复杂度O(1) /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode()原创 2021-01-12 21:45:06 · 58 阅读 · 0 评论 -
leetcode算法之反转链表
思路 采用栈的数据结构和特点,先进后出。 复杂度 时间复杂度O(n) 空间复杂度O(n) /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode reverseList(ListNo原创 2021-01-11 21:28:42 · 276 阅读 · 6 评论 -
LinkedHashMap 简介
LinkedHashMap 简介 定义: LinkedHashMap 是根据插入或访问顺序实现有序输出的HashMap 数据结构 : HashMap + 双向链表 使用示例: //普通HashMap Map<Integer, String> hashMap = new HashMap<Integer, String>(); hashMap.put(3, "order3"); hashMap.put(1, "order1"); hashMap.put(2, "order2"); h原创 2021-01-11 21:05:59 · 3668 阅读 · 0 评论