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...
}
目录
相关文章
|
7月前
|
存储 编译器 C++
C++:构造/析构/赋值运算(Effective C++)
C++:构造/析构/赋值运算(Effective C++)
|
9月前
|
JavaScript
es 6 对象深拷贝的俩种方式
es 6 对象深拷贝的俩种方式
139 0
|
9月前
|
存储 算法 编译器
【C++技能树】类的六个成员函数Ⅰ --构造、析构、拷贝构造函数
在开始本章内容之前,先浅浅的了解一下this指针的概念.这对理解后面的内容有着很大的帮助.
60 0
|
11月前
|
存储 安全 编译器
【Effective C++详细总结】第二章 构造/析构/赋值运算
【Effective C++详细总结】第二章 构造/析构/赋值运算
82 0
|
11月前
|
存储 XML JSON
【C语言】结构体——我就是秩序的创建者!(结构体数组、结构体指针、嵌套、匿名、字面量、伸缩型数组、链式结构)
【C语言】结构体——我就是秩序的创建者!(结构体数组、结构体指针、嵌套、匿名、字面量、伸缩型数组、链式结构)
|
12月前
|
存储 安全 编译器
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别(二)
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别
65 0
|
12月前
|
编译器 C语言 C++
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别(一)
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别
100 0
|
存储 Java
Java面向对象(3.1)--方法的重载,可变个数的形参,值传递机制,递归
Java面向对象(3.1)--方法的重载,可变个数的形参,值传递机制,递归
92 0
|
存储 JavaScript API
TypeScript实现数组栈与对象栈
TypeScript实现数组栈与对象栈
TypeScript实现数组栈与对象栈
|
C++
ACM模板——堆操作集合
ACM模板——堆操作集合
57 0