2017-09-18 6 views

Antwort

0

curr-Variable ist lokaler Funktionsparameter, wenn Sie sie ändern, ist der neue Wert auf der oberen Ebene NICHT verfügbar. Mit anderen Worten, wenn Sie eine Stufe aufzusteigen, dann ist sein Wert auf 1 zurückgesetzt

muß etwas wie die

function kthLargestInBST(t, k) { 
    var q = {curr:1, res:null} 
    helper(t, k, q); 
    return q.res; 
} 
// returns true if found the result 
function helper(t, k, q) { 
    if (t === null) return false; 

    if (helper(t.left, k, q)) return true; 
    if (q.curr === k) { 
     q.res = t.value; 
     return true; 
    } 
    q.curr++; 
    return helper(t.right, k, q); 
} 
seine
Verwandte Themen