数据结构
Elonjelinek
这个作者很懒,什么都没留下…
展开
-
如何用go语言反转双链表
点击个人博客,查看更多文章https://elonjelinek.github.io双链表的结构:一个指针指向前一个节点,另一个指针指向后一个节点。type DoubleNode struct { Value int // 前一个节点,以下统称为前指针 PreNode *DoubleNode // 后一个节点,以下统称为后指针 NextN...原创 2018-09-13 12:03:39 · 707 阅读 · 0 评论 -
LeetCode第一题:两数之和
题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]第一种方法...原创 2019-03-11 09:45:18 · 583 阅读 · 0 评论 -
二叉树的遍历,格式化输出,最大值,最小值
点击个人博客,查看更多文章https://elonjelinek.github.io/package mainimport ( "fmt")// 树的节点type Node struct { Value int Left *Node Right *Node}// 树type BinarySearchTree struct { root *Node}// 格式...原创 2018-09-23 09:42:36 · 1709 阅读 · 0 评论 -
go语言:反转单链表
点击个人博客,查看更多文章https://elonjelinek.github.io/反转单链表package mainimport "fmt"type node struct { value int nextNode *node}func reverseNode(head *node) *node {// 先声明两个变量// 前一个节点...原创 2018-09-11 10:35:02 · 4644 阅读 · 0 评论 -
go语言判断单链表中是否存在环
点击个人博客,查看更多文章https://elonjelinek.github.io判断单链表是否存在环是一个经典的快慢指针问题,一个每次走一步的指针,和一个每次走两步的指针,如果链表里有环的话,两个指针最终肯定会相遇,具体实现如下: 单链表的结构type Node struct { value int nextNode *Node}是否存在环func...原创 2018-09-13 18:53:01 · 1618 阅读 · 0 评论 -
go语言判断一棵树是否是二叉搜索树
点击个人博客,查看更多文章https://elonjelinek.github.io二叉搜索树主要用来实现搜索操作,二叉搜索树在最坏情况下平均搜索和插入的时间复杂度为O(log n)。在二叉搜索树中,所有左子树的节点的元素小于根节点数据,所有右子树的节点的元素大于根节点数据,并且树中的每个节点都满足该性质。左子树所有节点的值均小于它的根节点的值;右子树所有节点的值均大于它的根节点的...原创 2018-09-13 17:37:47 · 904 阅读 · 0 评论 -
go语言递归反转单链表
点击个人博客,查看更多文章https://elonjelinek.github.io单链表的结构:有两个字段,第一个是节点的值,第二个是节点的指针,指针指向下一个节点type Node struct { Value int NextNode *Node}递归反转思路:如果链表为空,就返回空;如果链表只有一个节点,就返回这个节点;如果有两个节点,就返回第二个节点,...原创 2018-09-13 14:31:59 · 1168 阅读 · 0 评论