Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
ReplaceGreaterSum in BST
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
//Title of this code #include <iostream> #include <vector> #include <queue> #include <algorithm> using namespace std; struct BinTree { int data; BinTree *left; BinTree *right; BinTree(int d, BinTree* l, BinTree* r): data(d), left(l), right(r) {} }; void printLevels(BinTree* root) { queue<BinTree*> *nodesCur = new queue<BinTree*>(); queue<BinTree*> *nodesNext = new queue<BinTree*>(); nodesCur->push(root); do { while (!nodesCur->empty()) { BinTree *cur = nodesCur->front(); nodesCur->pop(); cout << cur->data << " "; if (cur->left) nodesNext->push(cur->left); if (cur->right) nodesNext->push(cur->right); } cout << endl; swap(nodesCur, nodesNext); } while (!nodesCur->empty()); cout << endl; } int replaceGreaterSum(BinTree* root) { if (!root) return 0; int lesserSum = replaceGreaterSum(root->left); int gereaterSum = replaceGreaterSum(root->right); int tmp = root->data; root->data += gereaterSum; return lesserSum + gereaterSum + tmp; } int main() { BinTree *ggg = new BinTree(6, NULL, NULL); BinTree *gg = new BinTree(18, NULL, ggg); BinTree *ddd = new BinTree(1, NULL, NULL); BinTree *dd = new BinTree(2, ddd, NULL); BinTree *hh = new BinTree(13, NULL, NULL); BinTree *j = new BinTree(10, NULL, NULL); BinTree *h = new BinTree(14, hh, NULL); BinTree *g = new BinTree(17, NULL, gg); BinTree *f = new BinTree(12, j, h); BinTree *e = new BinTree(7, NULL, NULL); BinTree *d = new BinTree(3, dd, NULL); BinTree *c = new BinTree(15, f, g); BinTree *b = new BinTree(5, d, e); BinTree *root = new BinTree(9, b, c); printLevels(root); replaceGreaterSum(root); printLevels(root); }
g++
Show compiler warnings
[
+
] Compiler args
[
+
]
Show input
Compilation time: 0.61 sec, absolute running time: 0.04 sec, cpu time: 0 sec, memory peak: 3 Mb, absolute service time: 0.65 sec
fork mode
|
history
|
discussion
9 5 15 3 7 12 17 2 10 14 18 1 13 6 114 12 56 3 7 39 41 2 10 14 24 1 13 6