- 博客(10)
- 收藏
- 关注
原创 刷题:删除二叉树中的节点(Go)
步骤1. 寻找节点的父节点,有三种情况:目标节点即根节点目标节点非根节点目标节点不存在2. 删除节点如果目标节点是根节点:将根节点左子树移到右子树最左侧,返回右子树如果目标节点非根节点:如果目标节点没有右子树,直接父节点对应指针指向左子树,返回树如果目标节点有右子树,将左子树移到右子树最左侧,父节点对应指针指向右子树,返回树目标节点不存在,返回树/** * Definition for a binary tree node. * type TreeNode stru
2022-04-20 09:50:40
647
原创 golang:各种类型的变量直接存储的是什么
1. integer、float、bool、string类func main() { var ( a = 1 b = "hello" c = false d = 1.22 ) fmt.Printf("a以值打印\t%v\n", a) fmt.Printf("a以指针打印\t%p\n", a) fmt.Printf("b以值打印\t%v\n", b) fmt.Printf("b以指针打印\t%
2022-04-19 10:12:21
1061
原创 初窥:golang 中 channel 实现与使用
1. channel 概述channel 是golang中的一种数据结构,主要用来实现golang协程之间的通信,channel的设计也是提现了golang对于进程间消息传递的观点:“用通信实现共享内存,而不是使用共享内存实现通信”。2. channel 数据结构在golang源码中定义了一个结构体:hchan,这个结构体就是channel的数据结构type hchan struct { qcount uint // total data in the queue dat
2022-04-18 17:09:51
573
原创 golang 值类型与引用类型
值类型和引用类型值类型包括:所有integer、所有float、bool、string、数组和structure引用类型包括:指针、slice、map、chan、interface个人理解:通过使用方法来区分值类型和引用类型变量初始化变量初始化分为声明和赋值两部分var b int // b = 0b = 1var p *int // p = nilp = &b对于值类型,声明了但是未赋值时,其值是类型零值,可以看出值类型变量存的就是变量的值对于引用类型,声明了但是未
2022-04-18 14:35:28
803
原创 golang 中 new 和 make
new函数声明func new(Type) *Typenew 是 Golang的内建函数,用于分配内存,其中,第一个参数是类型,返回值是类型的指针,其值被初始化为“零”(类型对应的零值,int 初始化为0,bool初始化为 false 等)make函数声明func make(t Type, size ...IntegerType) Typemake 是 Golang 的内建函数,仅用于分配和初始化slice、map 以及 channel 类型的对象,三种类型都是结构体。返回值为类型,而不是
2022-04-18 14:27:19
294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人