- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 golang反转单链表
双链表不需要反转,只需要在引用时改变头的引用位置即可。 单链表反转,有2种做法:1重构方法,将node存储在有序容器中,例如切片中,然后重新构建一条链表。2直接反转指针法,保存好Node前后索引,改变指针的指向。一般我经常用linux kernel的双链表,插入,查找,删除正向反向索引,都贼灵活,几乎不用单链表。在生产环境哪个程序员如果用单链表,可以怼死他先,用单链表的程序员这不是sb吗。不过面试有的公司会问,这时候问你什么你就答什么就好,因为这个人虽然技术可能不如你 或者 比你差很多,但是他是面
2021-08-05 12:46:00 717 2
原创 golang 左右交换int类型的所有bit
源码:root@jack-VirtualBox:~/test/zz# cat main.go package mainimport "fmt"func rint(d int64) int64 { var dd int64 for i := 0; d != int64(0); i++ { if (d & 0x01) != int64(0) { dd |= 1 << (63 - i) } d = d >> 1 } return dd}
2021-08-04 08:33:44 268
原创 索引二叉树
二叉树索引:root@jack-VirtualBox:~/test/tree# cat main.go package mainimport "fmt"type Node struct { Val int Left *Node Right *Node}var ss [][]stringfunc BinaryTreePath(root *Node, sss [][]string, path []string) { strv := fmt.Sprintf("%d", roo
2021-08-02 20:49:36 443
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人