Passed
Push — master ( fccce1...655424 )
by Nguyen
94:35 queued 92:59
created

topics/stack/prefix-to-infix/index.js   A

Complexity

Total Complexity 4
Complexity/F 4

Size

Lines of Code 27
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 4
eloc 21
mnd 3
bc 3
fnc 1
dl 0
loc 27
bpm 3
cpm 4
noi 1
c 0
b 0
f 0
rs 10
1
const Stack = require('../index.js');
2
const operators = {
3
    "+": true,
4
    "-": true,
5
    "*": true,
6
    "/": true,
7
}
8
const PrefixToInfix = (formula) => {
9
    let result = ""
0 ignored issues
show
Unused Code introduced by
The variable result seems to be never used. Consider removing it.
Loading history...
10
    let stack = new Stack()
11
    for (let i = formula.length - 1 ; i>= 0; i--) {
12
        let c = formula[i]
13
        if (!operators[c]) {
14
            stack.push(c)
15
            continue
16
        }
17
	    let subFormula = stack.pop() + c + stack.pop()
18
	    if (i !== 0 ) {
19
		    stack.push('(' + subFormula + ')')
20
	    } else {
21
		     stack.push(subFormula)
22
23
	    }
24
    }
25
    return stack.pop()
26
}
27
module.exports = PrefixToInfix
28
29