{"ScriptPreparationCode":"let endPos, endChar;\r\n\r\nfunction reversify1(str, n = 0) {\r\n if (n \u003E= Math.floor(str.length / 2)) return str;\r\n\r\n str = str.split(\u0027\u0027);\r\n endPos = str.length - 1 - n;\r\n endChar = str[endPos];\r\n str[endPos] = str[n];\r\n str[n] = endChar; // make first char the last char\r\n str = str.join(\u0027\u0027);\r\n return reversify1(str, n \u002B 1);\r\n}\r\n\r\nfunction reversify2(str, n = 0) {\r\n if (n \u003E= Math.floor(str.length / 2)) return str;\r\n\r\n endPos = str.length - 1 - n;\r\n return reversify2(str.substring(0, n) \u002B str[endPos] \u002B str.substring(n \u002B 1, endPos) \u002B str[n] \u002B str.substring(endPos \u002B 1), n \u002B 1);\r\n}","TestCases":[{"Name":"split","Code":"reversify1(\u0022hello world\u0022);","IsDeferred":false},{"Name":"substring","Code":"reversify2(\u0022hello world\u0022);","IsDeferred":false}]}