随笔分类 - LeetCode
摘要:反转链表 LeetCode 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 【解题关键】以其中一个节点为例,反转其实是将当前节点的next指针指向当前节点的前驱节点。反转链表其实是将所有节点都反转一遍。 /** * Definition for sin
阅读全文
摘要:LeetCode中考察栈的基础操作的问题有20. Valid Parentheses,71. Simplify Path,150. Evaluate Reverse Polish Notation等,本文对这三个题进行详细的解析。
阅读全文
摘要:实验室的算法课程,今天轮到我给师弟师妹们讲贪心算法,顺便也复习一下。贪心算法这个名字听起来唬人,其实通常是比较简单的。虽然通常贪心算法的实现非常容易,但是,一个问题是否能够使用贪心算法,是一定要小心的。本文课通过LeetCode的一些习题,我们来回顾一下贪心算法。
阅读全文
摘要:二叉树天然的递归特性,使得我们可以使用递归算法对二叉树进行遍历和重建。之前已经写过LeetCode二叉树的前序、中序、后序遍历(递归实现),那么本文将进行二叉树的重建,经过对比,会发现二者有着许多相似之处。
阅读全文
摘要:本文用递归算法实现二叉树的前序、中序和后序遍历,提供Java版的基本模板,在模板上稍作修改,即可解决LeetCode144. Binary Tree Preorder Traversal(二叉树前序遍历),94. Binary Tree Inorder Traversal(二叉树中序遍历),145. Binary Tree Postorder Traversal(二叉树后序遍历)。
阅读全文