算法
TodayEveryDay
hi,大家好
展开
-
算法03-二叉树遍历(前中后)
思路: 递归和迭代 题解 public class Solution{ public void threeOrder(TreeNode root){ List<Integer> list = new ArrayList<Integer>(); preOrder(root,list); inOrd原创 2021-08-28 12:09:38 · 123 阅读 · 0 评论 -
算法02--- 判断链表是否有环
思路: 双指针,快慢指针 一个 快指针 ListNode fast 一个 慢指针 ListNode slow 快指针走两步,慢指针走一步,如果 最终快慢指针重合了,说明此链表有环 题解 public class Solution { piblic boolean hasCycle(ListNode head){ if(head == null ){ return false; } ListNode fast原创 2021-03-13 15:09:51 · 98 阅读 · 0 评论 -
算法01-反转列表
思路: 新建一个链表newNode,遍历原始链表的节点,当成新节点的头节点 初始 A->B->C->D null 第一轮 B->C->D A->null 第二轮 C->D B->A->null … … 题解 public class Solution { public ListNode reverseListNode(ListNode head){ ListNode newNode = null ;原创 2021-03-13 10:06:13 · 176 阅读 · 0 评论 -
经典排序算法
1、冒泡排序 Bubble Sort 最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻转载 2016-05-15 14:19:56 · 260 阅读 · 0 评论