BY Blog

とことんまで戦う

leetcode105从前序与中序遍历序列构造二叉树

leetcode105 Construct Binary Tree from Preorder and Inorder Traversal

前言 中间又断更新。 正文 问题来源 本问题来自leetcode上的105题。 问题描述 根据一棵树的前序遍历与中序遍历构造二叉树。 示例 1: 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 3 / \ 9 20 / \ 15 7 分析: /** * Defin...

leetcode103二叉树的锯齿形层次遍历

leetcode103 Binary Tree Zigzag Level Order Traversal

前言 中间又断更新。 正文 问题来源 本问题来自leetcode上的103题。 问题描述 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 示例 1: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 示例 2...

leetcode82删除排序链表中的重复元素II

leetcode82 Remove Duplicates from Sorted List II

前言 中间又断更新。 正文 问题来源 本问题来自leetcode上的82题。 问题描述 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重复出现的数字。 示例 1: 输入: 1->2->3->3->4->4->5 输出: 1->2->5 示例 2: 输入: 1->1->1->2->3 ...

棋盘翻转

Fliptile

前言 猛起更新。 正文 问题来源 今天心情不是很好,好友给我出了一道题让我转移一下注意力。 问题描述 给你一个棋盘,上面摆满了棋子。这些棋子有两面,一面是黑色,一面是白色。初始状态已经给出,0代表白色,1代表黑色。 当你翻转一个棋子的时候,也会翻转与这个棋子相邻(斜相邻不计入)的所有棋子。问你每个位置最少需要多少次翻转,才能将这个棋盘全部翻转成白色。输出所有方案中字典序最小的那个...

leetcode79单词搜索

leetcode79 Word Search

前言 猛起更新。 正文 问题来源 本问题来自leetcode上的79题。 问题描述 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例 1: board = [ ['A','B','C','E'], ['S','F'...

leetcode60第k个排列

leetcode60 Permutation Sequence

前言 猛起更新。 正文 问题来源 本问题来自leetcode上的60题。 问题描述 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: “123” “132” “213” “231” “312” “321” 给定 n 和 k,返回第 k 个排列。 说明: 给定 n 的范围是 [1, 9]...

leetcode59螺旋矩阵

leetcode59 Spiral Matrix II

前言 猛起更新。 正文 问题来源 本问题来自leetcode上的56题。 问题描述 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。 示例 1: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 分析: func generateMatrix(n int) [][]...

leetcode56合并区间

leetcode56 Merge Intervals

前言 猛起更新。 正文 问题来源 本问题来自leetcode上的56题。 问题描述 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例 2: 输入: [[1,4],[4...

leetcode54螺旋矩阵

leetcode54 Spiral Matrix

前言 猛起更新。 正文 问题来源 本问题来自leetcode上的54题。 问题描述 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 示例 2: 输入: [ ...

leetcode43字符串相乘

leetcode43 Multiply Strings

前言 猛起更新。 正文 问题来源 本问题来自leetcode上的33题。 问题描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 ...