07 2024 档案

摘要:110 平衡二叉树 // 计算平衡二叉树,定义,左右子树高度差不超过1,然后考虑计算高度,计算高度通常使用从叶子节点递归向上传递高度计算,也就是后续遍历的方式 func isBalanced(root *TreeNode) bool { // 思路 后续遍历同时求左右子树的高度,如果左右子树的高度差 阅读全文
posted @ 2024-07-31 13:59 周公瑾55 阅读(5) 评论(0) 推荐(0) 编辑
摘要:226 翻转二叉树 func invertTree(root *TreeNode) *TreeNode { // 思考,广度优先遍历,对于每一层,翻转其左右子节点 if root == nil { return nil } queue := list.New() queue.PushBack(roo 阅读全文
posted @ 2024-07-30 12:45 周公瑾55 阅读(12) 评论(0) 推荐(0) 编辑
摘要:二叉树定义和种类 二叉树是一种树形数据结构,其中每个节点最多有两个子节点,通常称为“左子节点”和“右子节点”。二叉树在计算机科学中有广泛的应用,比如表达式解析、排序算法、搜索算法等。 二叉树的定义 一个二叉树由一组节点组成,其中每个节点至多有两个子节点,分别称为左子节点和右子节点。二叉树可以是空的( 阅读全文
posted @ 2024-07-29 13:42 周公瑾55 阅读(8) 评论(0) 推荐(0) 编辑
摘要:150 逆波兰表达式计算 func evalRPN(tokens []string) int { // 自己想是真的想不出来,看了视频之后有了思路 // 本质上逻辑就是遇到数字入栈,遇到运算符号 出栈两个元素然后计算再入栈,最终就是计算结果 stack := Constructor() for _, 阅读全文
posted @ 2024-07-27 15:46 周公瑾55 阅读(4) 评论(0) 推荐(0) 编辑
摘要:232 实现队列 // go本身并不支持原生的栈和队列结构,都是通过切片实现的 //leetcode submit region begin(Prohibit modification and deletion) type MyQueue struct { Data []int Size int } 阅读全文
posted @ 2024-07-26 13:40 周公瑾55 阅读(9) 评论(0) 推荐(0) 编辑
摘要:151 翻转单词 func reverseWords(s string) string { // 思考: 判断单词条件是从0或者空格开始到终或者空格结尾,最简单方式strings.split之后变成切片,然后反转就行了 // 考虑双指针,左指针指向单词首位,右指针指向单词末尾 var res []b 阅读全文
posted @ 2024-07-25 16:54 周公瑾55 阅读(7) 评论(0) 推荐(0) 编辑
摘要:344 反转字符串 func reverseString(s []byte) { // 思路 思考双指针 left , right := 0, len(s) - 1 for left < right { s[left], s[right] = s[right], s[left] left++ rig 阅读全文
posted @ 2024-07-24 13:09 周公瑾55 阅读(3) 评论(0) 推荐(0) 编辑
摘要:454 四个数相加==0 func fourSumCount(nums1 []int, nums2 []int, nums3 []int, nums4 []int) int { // 1. 用哈希表存储 nums1 和 nums2 两者之和的所有可能情况 // 2. 遍历 nums3 和 nums4 阅读全文
posted @ 2024-07-23 15:10 周公瑾55 阅读(6) 评论(0) 推荐(0) 编辑
摘要:hash表 遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法 242 判断字母异位词 关于字符串的遍历问题 // 什么情况下遍历的是rune []int36类型, 什么情况下遍历的是 char 字节类型 ? s := "Hello, 世界" for i, r := range s { f 阅读全文
posted @ 2024-07-22 14:36 周公瑾55 阅读(10) 评论(0) 推荐(0) 编辑
摘要:24 两两交换节点 func swapPairs(head *ListNode) *ListNode { // 思路 涉及到链表增删改操作,优先考虑使用虚拟头节点 此处为双指针加上虚拟头节点 if head == nil || head.Next == nil { return head } var 阅读全文
posted @ 2024-07-20 14:34 周公瑾55 阅读(9) 评论(0) 推荐(0) 编辑
摘要:链表 type Node struct { Data any Next *Node } // 创建一个长度为n的链表 func CreateNode(head *Node, n int) { for i := 0; i < n; i++ { head.Next = &Node{rand.Intn(1 阅读全文
posted @ 2024-07-19 16:54 周公瑾55 阅读(10) 评论(0) 推荐(0) 编辑
摘要:977 有序数组平方 func sortedSquares(nums []int) []int { // 思路,最简单,先平方,再排序 for idx, num := range nums{ nums[idx] = num * num } // 插排思想,维护两个列表,将无序列表元素插入到有序列表合 阅读全文
posted @ 2024-07-18 16:25 周公瑾55 阅读(20) 评论(0) 推荐(0) 编辑
摘要:小收获 数组是存放在连续内存空间上的相同类型数据的集合 测试一下go func main() { fmt.Printf("Size of int: %d bytes\n", unsafe.Sizeof(int(0))) fmt.Printf("Size of int8: %d bytes\n", u 阅读全文
posted @ 2024-07-17 16:08 周公瑾55 阅读(255) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.
🚀
回顶
展开