Skip to content

Commit 2e3d88b

Browse files
committed
add one more
1 parent 81d454e commit 2e3d88b

File tree

4 files changed

+216
-1
lines changed

4 files changed

+216
-1
lines changed

BalancedBinaryTree/.cproject

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
3+
<storageModule moduleId="org.eclipse.cdt.core.settings">
4+
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.3275035">
5+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.3275035" moduleId="org.eclipse.cdt.core.settings" name="Debug">
6+
<externalSettings/>
7+
<extensions>
8+
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
9+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
10+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
11+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
12+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
13+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
14+
</extensions>
15+
</storageModule>
16+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
17+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.3275035" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
18+
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.3275035." name="/" resourcePath="">
19+
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.1364364977" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
20+
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.1839645816" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
21+
<builder buildPath="${workspace_loc:/BalancedBinaryTree/Debug}" id="cdt.managedbuild.target.gnu.builder.exe.debug.1050466408" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
22+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.2129991290" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
23+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1335071016" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
24+
<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.24481209" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
25+
<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.1337123870" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
26+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.753274434" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
27+
</tool>
28+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.1565045485" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
29+
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.1570479626" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" valueType="enumerated"/>
30+
<option id="gnu.c.compiler.exe.debug.option.debugging.level.1299588982" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
31+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1495222918" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
32+
</tool>
33+
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.46682294" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/>
34+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.349641446" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
35+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1286052901" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
36+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
37+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
38+
</inputType>
39+
</tool>
40+
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.1500181438" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
41+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.2003212691" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
42+
</tool>
43+
</toolChain>
44+
</folderInfo>
45+
<sourceEntries>
46+
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
47+
</sourceEntries>
48+
</configuration>
49+
</storageModule>
50+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
51+
</cconfiguration>
52+
<cconfiguration id="cdt.managedbuild.config.gnu.exe.release.1605669640">
53+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.1605669640" moduleId="org.eclipse.cdt.core.settings" name="Release">
54+
<externalSettings/>
55+
<extensions>
56+
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
57+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
58+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
59+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
60+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
61+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
62+
</extensions>
63+
</storageModule>
64+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
65+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.1605669640" name="Release" parent="cdt.managedbuild.config.gnu.exe.release">
66+
<folderInfo id="cdt.managedbuild.config.gnu.exe.release.1605669640." name="/" resourcePath="">
67+
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.1981924665" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
68+
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.1339641473" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
69+
<builder buildPath="${workspace_loc:/BalancedBinaryTree/Release}" id="cdt.managedbuild.target.gnu.builder.exe.release.1063408915" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/>
70+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1806000854" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
71+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.1817190498" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
72+
<option id="gnu.cpp.compiler.exe.release.option.optimization.level.252197956" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
73+
<option id="gnu.cpp.compiler.exe.release.option.debugging.level.803597709" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
74+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.186647597" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
75+
</tool>
76+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.1925635805" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release">
77+
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.441631572" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" valueType="enumerated"/>
78+
<option id="gnu.c.compiler.exe.release.option.debugging.level.139560737" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
79+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.933961314" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
80+
</tool>
81+
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.932614660" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/>
82+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.1260095522" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
83+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1672112733" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
84+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
85+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
86+
</inputType>
87+
</tool>
88+
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.1799512755" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release">
89+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1854776496" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
90+
</tool>
91+
</toolChain>
92+
</folderInfo>
93+
<sourceEntries>
94+
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
95+
</sourceEntries>
96+
</configuration>
97+
</storageModule>
98+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
99+
</cconfiguration>
100+
</storageModule>
101+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
102+
<project id="BalancedBinaryTree.cdt.managedbuild.target.gnu.exe.76592600" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
103+
</storageModule>
104+
<storageModule moduleId="scannerConfiguration">
105+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
106+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.1605669640;cdt.managedbuild.config.gnu.exe.release.1605669640.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.1925635805;cdt.managedbuild.tool.gnu.c.compiler.input.933961314">
107+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
108+
</scannerConfigBuildInfo>
109+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.1605669640;cdt.managedbuild.config.gnu.exe.release.1605669640.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.1817190498;cdt.managedbuild.tool.gnu.cpp.compiler.input.186647597">
110+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
111+
</scannerConfigBuildInfo>
112+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.3275035;cdt.managedbuild.config.gnu.exe.debug.3275035.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1335071016;cdt.managedbuild.tool.gnu.cpp.compiler.input.753274434">
113+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
114+
</scannerConfigBuildInfo>
115+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.3275035;cdt.managedbuild.config.gnu.exe.debug.3275035.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.1565045485;cdt.managedbuild.tool.gnu.c.compiler.input.1495222918">
116+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
117+
</scannerConfigBuildInfo>
118+
</storageModule>
119+
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
120+
</cproject>

BalancedBinaryTree/.project

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>BalancedBinaryTree</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
10+
<triggers>clean,full,incremental,</triggers>
11+
<arguments>
12+
</arguments>
13+
</buildCommand>
14+
<buildCommand>
15+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
16+
<triggers>full,incremental,</triggers>
17+
<arguments>
18+
</arguments>
19+
</buildCommand>
20+
</buildSpec>
21+
<natures>
22+
<nature>org.eclipse.cdt.core.cnature</nature>
23+
<nature>org.eclipse.cdt.core.ccnature</nature>
24+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
25+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
26+
</natures>
27+
</projectDescription>
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
//============================================================================
2+
// Balanced Binary Tree
3+
// Given a binary tree, determine if it is height-balanced.
4+
//
5+
// An example of a height-balanced tree. A height-balanced tree is a tree
6+
// whose subtrees differ in height by no more than one and the subtrees are
7+
// height-balanced, too.
8+
//============================================================================
9+
10+
#include <iostream>
11+
#include <cmath>
12+
#include <climits>
13+
using namespace std;
14+
15+
/**
16+
* Definition for binary tree
17+
*/
18+
struct TreeNode {
19+
int val;
20+
TreeNode *left;
21+
TreeNode *right;
22+
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
23+
};
24+
25+
class Solution {
26+
public:
27+
bool isBalanced(TreeNode *root) {
28+
return isBalanced1(root);
29+
}
30+
31+
bool isBalanced1(TreeNode *root) {
32+
return isBalancedHelper1(root);
33+
}
34+
35+
bool isBalancedHelper1(TreeNode* node) {
36+
if (node == NULL) return true;
37+
int leftHeight = height(node->left);
38+
int rightHeight = height(node->right);
39+
if (abs(leftHeight - rightHeight) > 1) return false;
40+
return isBalancedHelper1(node->left) && isBalancedHelper1(node->right);
41+
}
42+
43+
int height(TreeNode *node) {
44+
if (node == NULL) return 0;
45+
return (1 + max(height(node->left), height(node->right)));
46+
}
47+
48+
bool isBalanced2(TreeNode *root) {
49+
int height;
50+
return isBalancedHelper2(root, height);
51+
}
52+
53+
bool isBalancedHelper2(TreeNode *node, int &height) {
54+
if (node == NULL) {
55+
height = 0;
56+
return true;
57+
}
58+
int leftHeight, rightHeight;
59+
bool leftBalanced = isBalancedHelper2(node->left, leftHeight);
60+
bool rightBalanced = isBalancedHelper2(node->right, rightHeight);
61+
height = 1+max(leftHeight, rightHeight);
62+
return (leftBalanced && rightBalanced && abs(leftHeight-rightHeight) <= 1);
63+
}
64+
};
65+
66+
int main() {
67+
return 0;
68+
}

README

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
AddBinary
55
AddTwoNumbers
66
Anagrams
7+
BalancedBinaryTree
78
BinaryTreeInorderTraversal
89
BinaryTreeLevelOrderTraversal
910
BinaryTreeLevelOrderTraversalII
@@ -32,7 +33,6 @@ InterleavingString
3233
JumpGame
3334
JumpGameII
3435
LargestRectangleinHistogram
35-
LEETCODE
3636
LengthofLastWord
3737
LetterCombinationsofaPhoneNumber
3838
LongestCommonPrefix

0 commit comments

Comments
 (0)