SameStringFinesse Wrong1

Run Settings
LanguageJavaScript
Language Version
Run Command
function handleHash(str, i) { while (str[i-1] === "#") { i--; } i -= 2; if(str[i] === "#") { handleHash(str,i); } else { return i; } } var sameString = function(str1,str2) { let firstStrArray = []; let secondStrLen = str2.length; if (typeof str1 !== 'string' || typeof str2 !== 'string') { return false; } for (let char of str1) { if (char === '#') { if (firstStrArray) { firstStrArray.pop(); } } else { firstStrArray.push(char); } } let firstStrLen = firstStrArray.length; console.log("firstStrLen: " + firstStrLen + " secondStrLen " + secondStrLen); for (let i = str2.length-1; i>=0; i--) { let char = str2[i]; let offset = 0; console.log("i: " + i); if (firstStrLen > secondStrLen) { offset = firstStrLen + i; } else { console.log("char: " + char); offset = i - (secondStrLen - firstStrLen) > 0 ? i - (secondStrLen - firstStrLen) : 0; } if (char === "#") { i = handleHash(str2,i); console.log(" second i: " + i); char = str2[i]; } let strlength = firstStrArray.length-offset; console.log("strlength: " + strlength); console.log("offset: " + offset + " char: " + char + " str1[offset] " + firstStrArray[offset]); if (typeof char !== 'undefined' && typeof firstStrArray[offset] !== 'undefined') { if (char !== firstStrArray[offset]) { return false; } } } return true; } //console.log(sameString('cb#had','chad')); //console.log(sameString('chs#ad','cb#had')); //console.log(sameString('chs#ad','cb#hs#ap#d')); console.log(sameString('chs#ad','ce#b#hs#ap#d')); //console.log(sameString("c#d#","ab##")); //console.log(sameString('chad','cb#had')); //console.log(sameString('cb#had','chs#ad')); //f //console.log(sameString('cb#hs#ap#d','chs#ad')); //f //console.log(sameString('ce#b#hs#ap#d','chs#ad')); //f //console.log(sameString("ab##","c#d#"));
Editor Settings
Theme
Key bindings
Full width
Lines