{"ScriptPreparationCode":null,"TestCases":[{"Name":"simple","Code":"\r\nconst regex = /.?#/g\r\n\r\nconst backspaceCompare = (S, T) =\u003E {\r\n return S.replace(regex, \u0027\u0027) === T.replace(regex, \u0027\u0027)\r\n}\r\n\r\n\r\nbackspaceCompare(\u0027123456789\u0027, \u0027123456789\u0027)","IsDeferred":false},{"Name":"super","Code":"\r\nconst backspaceCompare = (songOne, songTwo) =\u003E {\r\n let i = songOne.length;\r\n let j = songTwo.length;\r\n \r\n let skipSongOne = 0;\r\n let skipSongTwo = 0;\r\n \r\n const songOneArray = songOne.split(\u0027\u0027);\r\n const songTwoArray = songTwo.split(\u0027\u0027);\r\n \r\n while (i \u003E 0 || j \u003E 0) {\r\n while (i \u003E 0) { // Processing backspaces for songOne\r\n if (songOneArray[i] === \u0027#\u0027) {\r\n skipSongOne\u002B\u002B;\r\n i--;\r\n } else if (skipSongOne \u003E 0) {\r\n skipSongOne--;\r\n i--;\r\n } else {\r\n break;\r\n }\r\n }\r\n \r\n while (j \u003E 0) { // Processing backspaces for songTwo\r\n if (songTwoArray[j] === \u0027#\u0027) {\r\n skipSongTwo\u002B\u002B;\r\n j--;\r\n } else if (skipSongTwo \u003E 0) {\r\n skipSongTwo--;\r\n j--;\r\n } else {\r\n break;\r\n }\r\n }\r\n \r\n if (i \u003E= 0 \u0026\u0026 j \u003E= 0 \u0026\u0026 songOneArray[i] !== songTwoArray[j]) {\r\n return false;\r\n }\r\n \r\n // One String\u0027s iterator finishes up before another. Edge Case #3\r\n if (i \u003C 0 || j \u003C 0) {\r\n return false;\r\n }\r\n \r\n i--;\r\n j--;\r\n }\r\n \r\n return true;\r\n}\r\n\r\n\r\nbackspaceCompare(\u0027123456789\u0027, \u0027123456789\u0027)","IsDeferred":false}]}