标签:leetcode
-
leetcode-107-Binary-Tree-Level-Order-TraversalII
题目描述(简单难度) 树的层次遍历,和 “>102 题 的DFS贴过来看一下。 public List<List<Integer>> levelOrder(…
-
leetcode-108-Convert-Sorted-Array-to-Binary-Search-Tree
题目描述(简单难度) 给一个升序数组,生成一个平衡二叉搜索树。平衡二叉树定义如下: 它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 二…
-
leetcode-109-Convert-Sorted-List-to-Binary-Search-Tree
题目描述(中等难度) 和 “>108 题 吧,算法的关键是取到中间的数据做为根节点。而这里链表的话,由于不支持随机访问,所以会麻烦些。最简单的思路就是我们把链表先用线性…
-
leetcode-110-Balanced-Binary-Tree
题目描述(简单难度) 判断一棵树是否是平衡二叉树,平衡二叉树定义如下: 它是一棵空树或它的左右两个子树的高度差的绝对值不超过 1,并且左右两个子树都是一棵平衡二叉树。 解法一 直接…
-
leetcode-111-Minimum-Depth-of-Binary-Tree
题目描述(简单难度) 返回从根节点到叶子节点最小深度。 解法一 递归 和 “>这里。 public int minDepth(TreeNode root) { if (…
-
leetcode-112-Path-Sum
题目描述(简单难度) 给定一个sum,判断是否有一条从根节点到叶子节点的路径,该路径上所有数字的和等于sum。 解法一 递归 这道题其实和 “>111 题 的分析,这道…
-
leetcode-113-Path-SumII
题目描述(中等难度) “>112 题 的基础上改了,解法没有新内容,大家可以过去看一看。 解法一 递归 “>112 题 中解法二讲的是BFS,但是对于这道题…
-
leetCode-13-Roman-to-Integer
题目描述(简单难度) 和上一道题相反,将罗马数字转换成阿拉伯数字。 解法一 先来一种不优雅的,也就是我开始的想法。就是遍历字符串,然后转换就可以,但同时得考虑 IV,IX 那些特殊…
-
leetCode-14-Longest-Common-Prefix
题目描述(简单难度) 解法一 垂直比较 我们把所有字符串垂直排列,然后一列一列的比较,直到某一个字符串到达结尾或者该列字符不完全相同。 下边看一下我的代码,看起来比较多 //这个函…
-
leetCode-17-Letter-Combinations-of-a-Phone-Number
题目描述(中等难度) 给一串数字,每个数可以代表数字键下的几个字母,返回这些数字下的字母的所有组成可能。 解法一 定义相乘 自己想了用迭代,用递归,都理不清楚,灵机一动,想出了这个…
-
leetCode-19-Remov-Nth-Node-From-End-of-List
题目描述(中等难度) 给定一个链表,将倒数第 n 个结点删除。 解法一 删除一个结点,无非是遍历链表找到那个结点前边的结点,然后改变下指向就好了。但由于它是链表,它的长度我们并不知…
-
leetCode-20-Valid Parentheses
题目描述(简单难度) 括号匹配问题。 如果只有一种括号,我们完全可以用一个计数器 count ,遍历整个字符串,遇到左括号加 1 ,遇到右括号减 1,遍历结束后,如果 count …
-
leetCode-21-Merge-Two-Sorted-Lists
题目描述(简单难度) 合并两个有序链表。 解法一 迭代 遍历两个链表。 public ListNode mergeTwoLists(ListNode l1, ListNode l2…
-
leetCode-22-Generate-Parentheses
题目描述(中等难度) 给一个数字 n ,返回所有合法的括号匹配,刚好和20题相反。 自己没想出来,全部参考 LeetCode 给出的 Solution。 解法一 暴力破解 列举所有…
-
leetCode-23-Merge-k-Sorted-Lists
题目描述(困难难度) k 个有序链表的合并。 我们用 N 表示链表的总长度,考虑最坏情况,k 个链表的长度相等,都为 n 。 解法一 暴力破解 简单粗暴,遍历所有的链表,将数字存到…
-
leetCode-24-Swap-Nodes-in-Pairs
题目描述(中等难度) 给定一个链表,然后两两交换链表的位置。 解法一 迭代 首先为了避免单独讨论头结点的情况,一般先申请一个空结点指向头结点,然后再用一个指针来遍历整个链表。 先来…
-
leetCode-25-Reverse-Nodes-in-k-Group
题目描述(困难难度) 将一个链表,每 k 个倒置,最后一组不足 k 个就不倒置。 解法一 迭代 关于单链表倒置,我们在第 2 题就讨论过。有了单链表倒置,这道题无非就是用一个循环,…
-
leetCode-26-Remove-Duplicates-from-Sorted-Array
题目描述(简单难度) 返回非重复数字的个数,并且把 nums 里重复的数字也去掉。 例如,nums = [ 1, 1, 2 ] ,那么就返回 2 ,并且把 nums 变成 [ 1,…
-
leetCode-27-Remove-Element
题目描述(简单难度) 和上一题类似,只不过这个是去除给定的值,看起来还更简单些。 例如给了 nums = [ 3, 2, 2, 3 ],val = 3, 然后我们返回 len = …
-
leetCode-28-Implement-strStr
题目描述(简单难度) 返回一个字符串 needle 在另一个字符串 haystack 中开始的位置,如果不存在就返回 -1 ,如果 needle 长度是 0 ,就返回 0 。 就是…