From 811f15cf3c19d475db91c0fd3e57e4d85d997cfb Mon Sep 17 00:00:00 2001 From: Gaosong Date: Sun, 15 Jan 2023 11:50:04 +0800 Subject: [PATCH] fix: polling from an empty heap will cause panic --- codes/go/chapter_heap/my_heap.go | 1 + docs/chapter_heap/heap.md | 1 + 2 files changed, 2 insertions(+) diff --git a/codes/go/chapter_heap/my_heap.go b/codes/go/chapter_heap/my_heap.go index 0b3d0a3b1..cd3015f66 100644 --- a/codes/go/chapter_heap/my_heap.go +++ b/codes/go/chapter_heap/my_heap.go @@ -98,6 +98,7 @@ func (h *maxHeap) poll() any { // 判空处理 if h.isEmpty() { fmt.Println("error") + return nil } // 交换根结点与最右叶结点(即交换首元素与尾元素) h.swap(0, h.size()-1) diff --git a/docs/chapter_heap/heap.md b/docs/chapter_heap/heap.md index 15d22e787..e1d29fe36 100644 --- a/docs/chapter_heap/heap.md +++ b/docs/chapter_heap/heap.md @@ -606,6 +606,7 @@ comments: true // 判空处理 if h.isEmpty() { fmt.Println("error") + return nil } // 交换根结点与最右叶结点(即交换首元素与尾元素) h.swap(0, h.size()-1)