LeetCode
Jay_hj11
这个作者很懒,什么都没留下…
展开
-
反转链表 面试题&leetcode
反转链表solution/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */func reverseList(head *ListNode) *ListNode { result :=&ListNode{0,nil} cur :=head for cur !=nil { t原创 2021-11-27 21:42:17 · 140 阅读 · 0 评论 -
删除链表的倒数第 N 个结点 golang
19 删除链表的倒数第 N 个结点/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */func removeNthFromEnd(head *ListNode, n int) *ListNode { result :=&ListNode{0,head} var ptr1,ptr2 *ListNode=h原创 2021-11-21 18:05:02 · 377 阅读 · 0 评论 -
不同的二叉搜索树 II golang
95 不同的二叉搜索树 II Solution/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */func generateTrees(n int) []*TreeNode { var arr []int i :=1 for i <= n {原创 2021-11-21 12:51:27 · 141 阅读 · 0 评论 -
二叉树展开为链表 golang
二叉树展开为链表/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */func flatten(root *TreeNode) { nodes :=PreOrder(root) i:=1 p :=root root.Left =nil for ;原创 2021-11-21 00:18:50 · 402 阅读 · 0 评论 -
有序链表转换二叉搜索树 golang
有序链表转换二叉搜索树/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } *//** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode原创 2021-11-21 00:16:04 · 461 阅读 · 0 评论 -
从前序与中序遍历序列构造二叉树 golang
105 从前序与中序遍历序列构造二叉树 方法一:递归思路对于任意一颗树而言,前序遍历的形式是[ 根, [左子树的前序遍历结果], [右子树的前序遍历结果] ]即根节点总是前序遍历中的第一个节点。而中序遍历的形式是[ [左子树的中序遍历结果], 根, [右子树的中序遍历结果] ]只要我们在中序遍历中定位到根节点,那么我们就可以分别知道左子树和右子树中的节点数目。由于同一颗子树的前序遍历和中序遍历的长度显然是相同的,因此我们就可以对应到前序遍历的结果中,对上述形式中的所有左右括号进行定位。原创 2021-11-20 17:37:36 · 643 阅读 · 0 评论 -
平衡二叉树 golang
平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ //自下往顶func isBalanced(root *TreeNod原创 2021-11-17 23:28:55 · 158 阅读 · 0 评论 -
二叉树的最大深度 golang
104 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */func maxDepth(root *TreeNode) int { if root == nil {原创 2021-11-17 16:16:13 · 136 阅读 · 0 评论 -
二叉树的层序遍历 golang
二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */func levelOrder(root *TreeNode) [][]int { result :=[][]int{原创 2021-11-17 15:44:34 · 466 阅读 · 0 评论 -
对称二叉树 golang
对称二叉树给定一个二叉树,检查它是否是镜像对称的。/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */func isSymmetric(root *TreeNode) bool { // var check func(node1,node2 *TreeNode) bool原创 2021-11-17 14:48:16 · 245 阅读 · 0 评论 -
相同的树 golang
100. 相同的树给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */func isSameTree(p *TreeNode, q *TreeN原创 2021-11-17 14:09:19 · 80 阅读 · 0 评论 -
二叉树中序遍历 golang
LeetCode94给定一个二叉树的根节点 root ,返回它的 中序 遍历。/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */func inorderTraversal(root *TreeNode) []int { var result []int var d原创 2021-11-17 13:57:20 · 251 阅读 · 0 评论