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月前
|
存储 Java 编译器
C 语言指针完全指南:创建、解除引用、指针与数组关系解析
创建指针 我们可以使用引用运算符 & 获取变量的内存地址:
280 0
|
存储 安全 编译器
【Effective C++详细总结】第二章 构造/析构/赋值运算
【Effective C++详细总结】第二章 构造/析构/赋值运算
115 0
|
编译器 C语言 C++
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别(一)
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别
127 0
|
存储 安全 编译器
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别(二)
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别
98 0
|
存储 数据安全/隐私保护
CE修改器入门:寻找指针基址
上一步阐述了如何使用`代码替换`功能对付变化位置的数据地址,但这种方法往往不能达到预期的效果,所以我们需要学习如何利用指针,在本关的 Tutorial.exe 窗口下面有两个按钮,一个会改变数值,另一个不但能改变数值而且还会改变数值在内存中存储的位置。
476 0
CE修改器入门:寻找指针基址
(C/C++)语法入门解题报告:结构体、类、指针、引用
(C/C++)语法入门解题报告:结构体、类、指针、引用
(C/C++)语法入门解题报告:结构体、类、指针、引用
|
存储 C++
数据结构-第三章-顺序栈-两种栈顶指针指示方法实现各种基本功能
数据结构-第三章-顺序栈-两种栈顶指针指示方法实现各种基本功能
957 0
C#(二十五)之C#对象比较
本篇内容记录了比较对象的方法、重写实例Equals方法。
141 0
C#(二十五)之C#对象比较
|
Java 索引
教你实现链表判空与取值方法 | 带你学《Java面向对象编程》之九十二
有了增加方法和计数方法,那么如何直观地判断链表内有没有数据呢,本节将带读者实现isEmpty()方法进行判空操作、实现toArray()方法获取链表内所有数据。
教你实现链表判空与取值方法 | 带你学《Java面向对象编程》之九十二
|
人工智能 C语言 编译器
再议 C 语言中的指针与数组(4)
再议 C 语言中的指针与数组(4) 一 概述 前面的文章中,回顾了 C 语言中的指针,对指针有了一个比较初步的了解。在本文中,结合数组,再次对指针进行回顾。 二 数组与指针 在 C 语言中,指向数组的指针是比较常见的,也是非常方便和适用的。
1022 0