twigicer 2023-03-13 20:49 采纳率: 33.3%
浏览 16
已结题

队列的大小不能直接作为循环条件使用?

在刷力扣107题,二叉树的层序遍历时,我发现自己写的代码和题解代码几乎一模一样,但是我的代码执行起来会有问题,题解代码可以正常通过,然后我就一点一点对照,发现问题出在下面我标注的地方,但是我想不出来为什么这点差异会导致结果有问题。
这张是题解代码以及他的执行结果:

img

这张是我的代码及执行结果:

img

两份代码的差异就在于for循环的条件,题解代码是将队列的大小queue.size()赋值给了一个int类型的size,然后用size作为条件,而我是直接用queue.size()作为条件的,我感觉这效果应该是一样的,但是为什么执行结果会不一样呢,求解答。

  • 写回答

3条回答 默认 最新

  • pzzhao 2023-03-13 21:01
    关注

    因为你在循环中操作了queue,导致queue的大小在变化

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 创建了问题 3月13日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程