最新文章

[LeetCode]面试题 04.02. 最小高度树

描述给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,
2020-04-11 / 0 comments

[LeetCode]删除中间节点

描述实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点。示例:输入:单向链表a->b->c->d->e->f中的
2020-04-06 / 0 comments

[剑指]二叉搜索树的第k大节点

描述给定一棵二叉搜索树,请找出其中第k大的节点。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \  2输出: 4示例 2:输入: roo
2020-04-06 / 0 comments

[剑指]反转链表

描述定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入:1->2->3->4->5->NULL输出:5->4->3->2
2020-04-05 / 0 comments

[剑指]数组中数字出现的次数 II

描述在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。 示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1
2020-04-05 / 0 comments

[剑指]从尾到头打印链表

描述输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1] 限制:0 <= 链表长度 <= 10000Solu
2020-04-05 / 0 comments

插入排序

介绍插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,
2020-04-04 / 0 comments

选择排序

算法步骤首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。图解编码publiccl
2020-04-01 / 0 comments

冒泡排序

算法步骤比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个
2020-04-01 / 1 comments

[Leetcode]24. 两两交换链表中的节点

描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例:给定1->2->3->4,你应该返回2->1
2020-03-31 / 0 comments