Fork me on GitHub
TriaL


  • 首页

  • 标签

  • 归档

leetcode——[102]Binary Tree Level Order Traversal二叉树的层次遍历

发表于 2018-06-04 | | 阅读次数:

题目

给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。

例如:
给定二叉树: [3,9,20,null,null,15,7],

1
2
3
4
5
  3
/ \
9 20
/ \
15 7

返回其层次遍历结果:

1
2
3
4
5
[
[3],
[9,20],
[15,7]
]
阅读全文 »

二叉树的层次遍历、二叉树的生成、求深度、统计节点数

发表于 2018-06-04 | | 阅读次数:

概述

在上次基本遍历后,总结一下二叉树的层次遍历、二叉树的生成、求节点深度、统计节点数,二叉树的结构定义为:

1
2
3
4
5
6
7
8
9
10
//Definition for a binary tree node.
public class TreeNode {
int val;
TreeNode left;
TreeNode right;

TreeNode(int x) {
val = x;
}
}
阅读全文 »

8种基础排序方法总结

发表于 2018-05-29 | | 阅读次数:

1.插入排序

基本思想

在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。

算法描述:

一般来说,插入排序都采用in-place(即只需用到O(1)的额外空间的排序)在数组上实现。具体算法描述如下:

  1. 从第一个元素开始,该元素可以认为已经被排序
  2. 取出下一个元素,在已经排序的元素序列中从后向前扫描
  3. 如果该元素(已排序)大于新元素,将该元素移到下一位置
  4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
  5. 将新元素插入到该位置后
  6. 重复步骤2~5
阅读全文 »

字节跳动2018 Android校招编程题——用户喜好

发表于 2018-05-22 | | 阅读次数:

题目

用户喜好

为了不断优化推荐效果,今日头条每天要存储和处理海量数据。假设有这样一种场景:我们对用户按照它们的注册时间先后来标号,对于一类文章,每个用户都有不同的喜好值,我们会想知道某一段时间内注册的用户(标号相连的一批用户)中,有多少用户对这类文章喜好值为k。因为一些特殊的原因,不会出现一个查询的用户区间完全覆盖另一个查询的用户区间(不存在L1<=L2<=R2<=R1)。

阅读全文 »

二叉树的遍历总结

发表于 2018-05-21 | | 阅读次数:

概述

这次首先总结二叉树的前序、中序、后序、层次遍历的递归与非递归实现。

下次总结二叉树的查找、求二叉树的深度、统计节点个数与节点比较的递归实现。

阅读全文 »

leetcode——[237]Delete Node in a Linked List删除链表中的节点

发表于 2018-05-11 | | 阅读次数:

题目

请编写一个函数,使其可以删除某个链表中给定的(非末尾的)节点,您将只被给予要求被删除的节点。

比如:假设该链表为 1 -> 2 -> 3 -> 4 ,给定您的为该链表中值为 3 的第三个节点,那么在调用了您的函数之后,该链表则应变成 1 -> 2 -> 4 。

阅读全文 »

leetcode——[088]Merge Sorted Array合并两个有序数组

发表于 2018-05-09 | | 阅读次数:

题目

给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。

说明:

  • 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
  • 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。

示例:

1
2
3
4
5
输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6], n = 3

输出: [1,2,2,3,5,6]
阅读全文 »

leetcode——[101]Symmetric Tree对称二叉树

发表于 2018-05-08 | | 阅读次数:

题目

给定一个二叉树,检查它是否是镜像对称的。

例如,二叉树 [1,2,2,3,4,4,3] 是对称的。

1
2
3
4
5
    1
/ \
2 2
/ \ / \
3 4 4 3

但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

1
2
3
4
5
  1
/ \
2 2
\ \
3 3

说明:

如果你可以运用递归和迭代两种方法解决这个问题,会很加分。

阅读全文 »

leetcode——[098]Validate Binary Search Tree验证二叉搜索树

发表于 2018-05-08 | | 阅读次数:

题目

给定一个二叉树,判断其是否是一个有效的二叉搜索树。

一个二叉搜索树具有如下特征:

  • 节点的左子树只包含小于当前节点的数。
  • 节点的右子树只包含大于当前节点的数。
  • 所有左子树和右子树自身必须也是二叉搜索树。

示例 1:

1
2
3
4
5
输入:
2
/ \
1 3
输出: true

示例 2:

1
2
3
4
5
6
7
8
9
输入:
5
/ \
1 4
/ \
3 6
输出: false
解释: 输入为: [5,1,4,null,null,3,6]。
根节点的值为 5 ,但是其右子节点值为 4 。
阅读全文 »

leetcode——[387]First Unique Character in a String字符串中的第一个唯一字符

发表于 2018-05-04 | | 阅读次数:

题目

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

案例:

1
2
3
4
5
s = "leetcode"
返回 0.

s = "loveleetcode",
返回 2.

注意事项:您可以假定该字符串只包含小写字母。

阅读全文 »
1…4567
BJTU-HXS

BJTU-HXS

69 日志
21 标签
RSS
GitHub E-Mail
© 2019 BJTU-HXS
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.3
|
博客全站共45.5k字