查看: 1006| 回复: 2
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 958题C++代码有个疑问,求各位帮助, 回复有用的会加米

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 不知道小帅 于 2020-10-2 09:49 编辑

以下是我写的代码,思路几乎是和solution给的思路一样的。但是当树的节点多的时候就会提示error,说是heap use after free。但是感觉我没有调用destructor啊。为什么会出现这种情况啊
  1. class Solution {
  2. public:
  3.     bool isCompleteTree(TreeNode* root) {
  4.         int curMax = 0;
  5.         queue<pair<TreeNode*, int>> q;
  6.         if (root) q.push({root, 1});
  7.         while (!q.empty()) {
  8.             auto& cur = q.front();
  9.             q.pop();
  10.             if (cur.second != curMax + 1) return false;
  11.             curMax = cur.second;
  12.             if (cur.first->left) {
  13.                 q.push({cur.first->left, cur.second * 2});
  14.             }
  15.             if (cur.first->right) {
  16.                 q.push({cur.first->right, cur.second * 2 + 1});
  17.             }
  18.         }
  19.         return true;
  20.     }
  21. };
复制代码

评分

参与人数 3大米 +5 收起 理由
孙雨蕾 + 3 赞一个!
我想要offer真的 + 1 赞赞!
14417335 + 1

查看全部评分


上一篇:leetcode 商店redeem T-shirt, 没问我地址?
下一篇:[LeetCode] 刷题基础or速成
🔗
shchen0808 2020-10-4 00:07:02 | 只看该作者
全局:
这两行有问题:
auto& cur = q.front(); // 此处不应该使用引用
q.pop(); // 此函数会删除堆顶元素,造成dangling reference issue

std::priority_queue::pop()

This member function effectively calls the pop_heap algorithm to keep the heap property of priority_queues and then calls the member function pop_back of the underlying container object to remove the element.

This calls the removed element's destructor.

评分

参与人数 2大米 +4 收起 理由
不知道小帅 + 3 给你点个赞!
14417335 + 1

查看全部评分

回复

使用道具 举报

🔗
 楼主| 不知道小帅 2020-10-15 00:26:25 | 只看该作者
全局:
shchen0808 发表于 2020-10-4 00:07
这两行有问题:
auto& cur = q.front(); // 此处不应该使用引用
q.pop(); // 此函数会删除堆顶元素,造成 ...

感谢感谢,虽然我已经找到错误了。有点习惯加引用了,忽略了container的性质、
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表