leetcode
alittleyiiii
这个作者很懒,什么都没留下…
展开
-
leetcode golang刷题总结-队列
滑动窗口func maxSlidingWindow(nums []int, k int) []int { len:=len(nums) if len<=0||k<=0||k>len{ return nil } var maxnums []int max:=-1 for i:=0;i<=len-k;i++{ low:=i high:=i+k-1 if max==-1||ma原创 2021-02-24 17:05:15 · 173 阅读 · 0 评论 -
leetcode golang刷题总结——迭代
斐波那契数列递归会提示超过时间限制,所以采用迭代的思路func fib(n int) int { if n==0{ return 0 } if n==1{ return 1 } t1:=0 t2:=1 res:=1 for i:=2;i<=n;i++{ res=(t1+t2)%1000000007 t1=t2 t2=res } fmt.Pr原创 2021-02-24 13:16:46 · 109 阅读 · 0 评论 -
leetcode golang刷题总结——二叉树(2)
二叉搜索树的第K大节点思路:修改中序遍历,改成右中左func kthLargest(root *TreeNode, k int) int { out:=InOrder(root) // fmt.Println(out) return out[k-1]}func InOrder(root *TreeNode) []int{ stack :=[]*TreeNode{} a:=[]int{} p:=root for p!=nil||len(st原创 2021-02-24 11:16:25 · 124 阅读 · 0 评论 -
leetcode golang刷题总结——二叉树
二叉树的镜像输入一个二叉树,该函数输出镜像思路:采用层次遍历。根节点入队,出兑,翻转左右节点左右节点入队,出队,翻转直到队列为空,已遍历所有节点func mirrorTree(root *TreeNode) *TreeNode { if root==nil{ return root } var a []*TreeNode a=append(a,root) for len(a)!=0{ t:=a[0] a=a[1:] t.Left,t.R原创 2021-02-21 10:33:39 · 145 阅读 · 0 评论