ACM技巧 - 多对象其一判空简写

简介: ACM技巧 - 多对象其一判空简写

背景

一般在二叉树比较常见这种情景,比如我想判断仅仅“左节点或右节点其中一个为空”就 dosomething...,两个对象还好,那如果是多叉树呢?岂不是要排列组合啦~

常见代码


if ((null == root.left && null != root.right) || (null != root.left && null == root.right)) {
    // dosomething...
}

优化代码


if (root.left == null && root.right == null) return; 
if (root.left == null || root.right == null) {
    // dosomething...
}
目录
相关文章
|
8月前
|
前端开发 JavaScript
对象解构与迭代器的猫腻?
这篇文章介绍了变量的解构赋值技巧在前端开发中的常用性,包括对象解构和数组解构。文章中给出了一些代码示例,解释了可迭代对象的概念以及如何使用迭代协议来实现数组解构。此外,文章还介绍了生成器的概念并提供了代码示例。作者建议对这些概念不熟悉的读者可以查阅ES6的文档来更好地理解。
对象解构与迭代器的猫腻?
|
8月前
|
C++
C++什么是深浅拷贝,深浅拷贝的区别?
C++什么是深浅拷贝,深浅拷贝的区别?
|
存储 编译器 Linux
c++:缺省参数和引用的概念
c++:缺省参数和引用的概念
|
安全 C语言 C++
引用和指针傻傻分不清
🐰引用和指针的区别 🌸从现象上看 🌸从编译上看 🤔提示
|
JavaScript Java API
都2022年了你不会还没搞懂对象数组的遍历吧
对象、数组的遍历在我们日常开发中基本上天天能碰到,但是对象、数组都有哪些遍历方法,各方法之间又有什么区别你们真的清楚了吗?今天笔者就来总结下。
84 0
|
JavaScript 前端开发 Java
研究浅复制和深复制及$.extend()
浅复制和深复制及$.extend()
177 0
|
JavaScript 前端开发 Oracle
JS对象数组的递归排序(二十四)
JS对象数组的递归排序(二十四)
424 0
JS对象数组的递归排序(二十四)
|
JavaScript 前端开发 数据格式
JS对象数组中叶子对象和非叶子对象数组(二十五)
JS对象数组中叶子对象和非叶子对象数组(二十五)
523 0
JS对象数组中叶子对象和非叶子对象数组(二十五)
|
JavaScript
JS对象数组的排序(二十二)下
JS对象数组的排序(二十二)
101 0
JS对象数组的排序(二十二)下
|
JavaScript
JS对象数组的排序(二十二)上
JS对象数组的排序(二十二)
290 0
JS对象数组的排序(二十二)上