摘要: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 思路是回溯+递归,利用一个栈来存储字母。 具体实现就是,先用迭代存储一个字母,如果栈没满就递归并迭代存储字母,直到栈满再把栈里的内容扔到返回数组里,或者 阅读全文
posted @ 2018-07-17 21:55 onlyandonly 阅读(869) 评论(0) 推荐(0) 编辑
摘要: 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1: 示例 2: 一个简单的DFS,当碰到未访问过的陆地时,将其标为访问过,然后向四周搜索,直到四周都是水为止。 阅读全文
posted @ 2018-07-17 18:37 onlyandonly 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 示例 2: 一个中序遍历的搜索,递归或者栈。 阅读全文
posted @ 2018-07-17 17:06 onlyandonly 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有 next 指针都被设置为 NULL。 说明: 你只能使用额外常数空间。 使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间 阅读全文
posted @ 2018-07-17 16:44 onlyandonly 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 根据一棵树的前序遍历与中序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 例如,给出 返回如下的二叉树: 第一眼看到这题我就懵逼了,wtf??? 但是仔细想一下虽然复杂,但是很简单。。。前序数组的结构为【根,左子树,右子树】,中序数组结构为【左子树,根,右子树】,那么先从前序数组确定根,然后 阅读全文
posted @ 2018-07-17 16:21 onlyandonly 阅读(247) 评论(0) 推荐(0) 编辑