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...
}
目录
相关文章
|
1月前
|
存储 C#
C#学习系列相关之数组(一)---数组的定义与使用
C#学习系列相关之数组(一)---数组的定义与使用
|
3月前
|
编译器 C++ 索引
C learning_13 操作符前篇(条件操作符、 逗号表达式、 下标引用、函数调用和结构成员、 表达式求值)
C learning_13 操作符前篇(条件操作符、 逗号表达式、 下标引用、函数调用和结构成员、 表达式求值)
|
3月前
|
存储 安全 C++
第六章:C++中的指针和引用
第六章:C++中的指针和引用
25 1
|
9月前
ACM刷题之路(十一)堆、栈、队列实现表达式转换
ACM刷题之路(十一)堆、栈、队列实现表达式转换
|
6月前
|
存储 编译器 C++
C++:构造/析构/赋值运算(Effective C++)
C++:构造/析构/赋值运算(Effective C++)
|
10月前
|
存储 安全 编译器
【Effective C++详细总结】第二章 构造/析构/赋值运算
【Effective C++详细总结】第二章 构造/析构/赋值运算
79 0
(C/C++)语法入门解题报告:结构体、类、指针、引用
(C/C++)语法入门解题报告:结构体、类、指针、引用
(C/C++)语法入门解题报告:结构体、类、指针、引用
|
存储 C++
数据结构-第三章-顺序栈-两种栈顶指针指示方法实现各种基本功能
数据结构-第三章-顺序栈-两种栈顶指针指示方法实现各种基本功能
906 0
|
存储 JavaScript 前端开发
ES6躬行记(13)——类型化数组
  类型化数组(Typed Array)是一种处理二进制数据的特殊数组,它可像C语言那样直接操纵字节,不过得先用ArrayBuffer对象创建数组缓冲区(Array Buffer),再映射到指定格式的视图(view)之后,才能读写其中的数据。总共有两类视图,分别是特定类型的TypedArray和通用类型的DataView。在ES6引入类型化数组之后,大大提升了JavaScript数学运算的性能。
|
Java 索引
教你实现链表判空与取值方法 | 带你学《Java面向对象编程》之九十二
有了增加方法和计数方法,那么如何直观地判断链表内有没有数据呢,本节将带读者实现isEmpty()方法进行判空操作、实现toArray()方法获取链表内所有数据。
教你实现链表判空与取值方法 | 带你学《Java面向对象编程》之九十二