golang力扣leetcode 297.二叉树的序列化与反序列化

297.二叉树的序列化与反序列化297.二叉树的序列化与反序列化题解题目:给你一个二叉树,序列化从一个string字符串,再从一个string字符串还原出二叉树思路:1.序列化:前序遍历,根左右 2.反序列化:递归,根左右 代码type TreeNode struct { Val int Left ...

golang力扣leetcode 114.二叉树展开为链表

114.二叉树展开为链表114.二叉树展开为链表题解思路:1.将原来的左子树放到右子树 2.将原来的右子树,放到原来的左子树的最右边 1 / \ 2 5 / \ \ 3 4 6 //将 1 的左子树插入到右子树的地方 1 \ 2 5 / \ \ 3 4 6 ...

golang力扣leetcode 105.从前序与中序遍历序列构造二叉树

105.从前序与中序遍历序列构造二叉树105.从前序与中序遍历序列构造二叉树题解思路preorder 根 左 右 inorder 左 根 右 1.找到根的位置 2.递归构造左子树和右子树 代码func buildTree(preorder []int, inorder []int) *TreeNod...

golang力扣leetcode 94.二叉树的中序遍历

94.二叉树的中序遍历94.二叉树的中序遍历题解中序遍历:按照访问左子树——根节点——右子树的方式遍历这棵树思路:递归和迭代代码package main type TreeNode struct { Val int Left *TreeNode Right *TreeNode } func inor...

golang力扣leetcode 103. 二叉树的锯齿形层序遍历

题解就是一层翻转一层不翻转,大水题,与前面两篇博文类似代码package main func main() { } type TreeNode struct { Val int Left *TreeNode Right *TreeNode } func zigzagLevelOrder(root *...

golang力扣leetcode 107. 二叉树的层序遍历 II

题解就是上一篇博文加一个翻转代码package main func main() { } type TreeNode struct { Val int Left *TreeNode Right *TreeNode } func levelOrderBottom(root *TreeNode) [][...

golang力扣leetcode 102. 二叉树的层序遍历

题解简单的队列,比较考验语法熟练度而已。。注意27行那里有个坑,应该是queue[0],而不是queue[i],因为每次都出队了,下一个索引位置肯定还是0代码package main func main() { } type TreeNode struct { Val int Left *TreeN...

golang力扣leetcode 236. 二叉树的最近公共祖先

题解思路:要找最近的公共祖先,直接递归左右子树,直到左右子树都有的时候,就是答案了代码package main func main() { } type TreeNode struct { Val int Left *TreeNode Right *TreeNode } func lowestCom...

golang力扣leetcode 124. 二叉树中的最大路径和

题解思路,递归,大问题分解成小问题递归三件套:递归结束条件是什么大问题分解成小问题每次递归给上次返回什么代码package main import "math" type TreeNode struct { Val int Left *TreeNode Right *TreeNode } func ...

golang力扣leetcode 104. 二叉树的最大深度

golang力扣leetcode 104. 二叉树的最大深度

题解思路就是递归,分治法,分而治之跟着代码想这个图即可理解代码/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ f...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

LeetCode更多二叉树相关