当前位置: 首页 > 知识库问答 >
问题:

如果我想在ArrayDeque中提供一个空值,我怎么做呢

姜宏放
2023-03-14
class Solution {
    public boolean isSymmetric(TreeNode root) {
        Deque<TreeNode> queue = new ArrayDeque<>();
        Deque<Integer> stack = new ArrayDeque<>();
        
        if (root != null) {
            queue.offer(root);
            while (!queue.isEmpty()) {
                int size = queue.size();
            
                for (int i = 0; i < size; i++) {
                    TreeNode node = queue.poll();
                  
                    if (stack.isEmpty() || stack.peek() != node.val) {
                        stack.push(node.val);
                    } else { 
                        stack.pop();
                    }
                    if (node != null) {                     
                        queue.offer(node.left);
                        queue.offer(node.right);
                    }
                   
                }
                if (stack.isEmpty()) {
                    return false;
                }
            }
        }

        return true;
    }
}
queue.offer(node.left);  // offer a null is valid
queue.offer(node.right);  // offer a null is valid

这就是我的问题。

共有1个答案

车峻熙
2023-03-14

简单但不那么好的解决方案:

  • 使用Arraydeque > ,并且myclass是您的类。然后可以添加包含NULL的可选内容。
  • 您还可以为此使用任何其他包装类。

更好的解决方案

 类似资料:
  • 我想做一个跟https://geojson.io/一样的可交互的地球,而且还不卡,请问应该用什么方案实现?

  • 必须创建一个java应用程序,该应用程序将确定并显示用户输入的数字总和。求和必须在用户希望的时间内进行。当程序结束时,求和必须显示如下,例如,用户输入3个数字:10、12、3=25 并且必须使用while循环

  • 在Angular13应用程序中的一个html文件中,我使用了一个元素,我想通过Angular {{attribute的值}}的双重绑定方法提供属性列表及其值,以便可以显示社交媒体图标列表。 例如,这样做,而不是硬编码: 我想这样做: 但是我一直收到下面的错误信息: 错误 NG8002:无法绑定到“xmlns”,因为它不是“:svg:svg”的已知属性。xmlns=“{{socBtn.xmlns}}

  • 本文向大家介绍如何实现一个ajax请求?如果我想发出两个有顺序的ajax需要怎么做?相关面试题,主要包含被问及如何实现一个ajax请求?如果我想发出两个有顺序的ajax需要怎么做?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: AJAX创建异步对象XMLHttpRequest 操作XMLHttpRequest 对象 (1)设置请求参数(请求方式,请求页面的相对路径,是否异步) (2)设置回

  • 我用‘固定’使‘导航’不动。然而,如果有一个“标题”,则有一个与“标题”区域一样多的边距。在向上移动了多少‘头部’区域后,我想把它固定在那个位置。我在用“反应”所以很难找到方法。我正在自学,所以我原来知道的不多,所以我来学习一些新的东西。 null null

  • 我用textview来显示温度,应该是这样的 当我更改textSize时,它显示如下所示 我只是想改变textview的大小,但我不想它变得更厚,我该如何处理这个问题呢?