今天就跟大家聊聊有關(guān)怎么解析單值二叉樹,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的金安網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1,問題簡(jiǎn)述
如果二叉樹每個(gè)節(jié)點(diǎn)都具有相同的值,那么該二叉樹就是單值二叉樹。
只有給定的樹是單值二叉樹時(shí),才返回 true;否則返回 false。
2,示例
輸入:[1,1,1,1,1,null,1]輸出:true
3,題解思路
使用前序遍歷的方式,隊(duì)列方法進(jìn)行解決
4,題解程序
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
public class IsUnivalTreeTest {
public static void main(String[] args) {
TreeNode t1 = new TreeNode(1);
TreeNode t2 = new TreeNode(1);
TreeNode t3 = new TreeNode(1);
TreeNode t4 = new TreeNode(1);
TreeNode t5 = new TreeNode(1);
TreeNode t6 = new TreeNode(1);
t1.left = t2;
t1.right = t3;
t2.left = t4;
t2.right = t5;
t3.right = t6;
boolean univalTree = isUnivalTree2(t1);
System.out.println("univalTree = " + univalTree);
}
public static boolean isUnivalTree(TreeNode root) {
if (root == null) {
return true;
}
Queue
queue = new LinkedList<>(); queue.add(root);
List
list = new ArrayList<>(); while (!queue.isEmpty()) {
int size = queue.size();
for (int i = 0; i < size; i++) {
TreeNode treeNode = queue.poll();
list.add(treeNode.val);
if (treeNode.left != null) {
queue.add(treeNode.left);
}
if (treeNode.right != null) {
queue.add(treeNode.right);
}
}
}
Integer val = list.get(0);
for (int num : list) {
if (num != val) {
return false;
}
}
return true;
}
public static boolean isUnivalTree2(TreeNode root) {
if (root == null) {
return true;
}
if (root.left != null && root.val != root.left.val) {
return false;
}
if (root.right != null && root.val != root.right.val) {
return false;
}
return isUnivalTree(root.left) && isUnivalTree(root.right);
}
}
5,題解程序圖片版
看完上述內(nèi)容,你們對(duì)怎么解析單值二叉樹有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。