来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/univalued-binary-tree 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。
解答
只是普通的遍历,外面存个值 和 是否为单值标识。
/*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val = (val===undefined ? 0 : val)* this.left = (left===undefined ? null : left)* this.right = (right===undefined ? null : right)* }*//*** @param {TreeNode} root* @return {boolean}*/var isUnivalTree = function(root) {let isUnival = true, value;function traverse (node) {if (!node) return;if (value === undefined) {value = node.val;}if (value !== node.val) {isUnival = false;} else {traverse(node.left);traverse(node.right);}}traverse(root);return isUnival;};
