摘要: 问题描述 面试题32 - II. 从上到下打印二叉树 II 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15 阅读全文
posted @ 2020-05-17 16:31 Flora1014444 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 问题描述 面试题32 - I. 从上到下打印二叉树 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7] 分析 层次遍历,先存根节点,若空则直接 阅读全文
posted @ 2020-05-17 16:09 Flora1014444 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 题目 面试题28. 对称的二叉树 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是 阅读全文
posted @ 2020-05-16 21:00 Flora1014444 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 面试题27. 二叉树的镜像 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 例如输入: 4 / \ 2 7 / \ / \ 1 3 6 9 镜像输出: 4 / \ 7 2 / \ / \ 9 6 3 1 分析 直接利用一个temp暂存left,然后左右子树互换,递归遍历一遍 解题 # Defi 阅读全文
posted @ 2020-05-16 20:10 Flora1014444 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 问题描述 面试题50. 第一个只出现一次的字符 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 示例: s = "abaccdeff"返回 "b"s = "" 返回 " " 分析 使用哈希表进行词频统计然后输出即可 解题 1.使用库函数 collecti 阅读全文
posted @ 2020-05-16 16:32 Flora1014444 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。 示例 1: 输入: "the sky is blue"输出: "blue is sky t 阅读全文
posted @ 2020-05-15 21:23 Flora1014444 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 问题描述 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例 1: 输入: [0,1,3]输出: 2 分析 有序数组,优先考虑二分 分为左右两部分,左侧,nums[i]==i,右 阅读全文
posted @ 2020-05-14 20:17 Flora1014444 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题目描述 统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 分析 1.暴力 2.有序数组优先考虑二分查找 找到target在数组中的起始位置 解题 class Solution: def search(self, 阅读全文
posted @ 2020-05-14 19:18 Flora1014444 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 分析 猛的一看还挺简单,注意时间效率和空间效率 1.直接排序,加一个for循环,找出和后一个相等的数字 阅读全文
posted @ 2020-05-14 15:03 Flora1014444 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 分析 1. 阅读全文
posted @ 2020-05-14 14:34 Flora1014444 阅读(103) 评论(0) 推荐(0) 编辑