问题描述:实现翻转字符串函数reverse;
假使不分配额外的空间,直接就地翻转字符串;
//实现字符串反转 function reverse(str) { var str_array = str.split(‘‘); var low = 0, height = str_array.length-1; while(low < height) { var tmp = str_array[low]; str_array[low] = str_array[height]; str_array[height] = tmp; low ++; height --; } return str_array.join(); } var str="你好,世界"; console.log(reverse(str));
当不申请内存时,直接就地翻转字符串时,题目会有一些难度,尤其是涉及到了递归的操作
function reverse_2(str) { if (str.length == 1) return str; return str.charAt(str.length-1) + reverse_2(str.substr(0, str.length-1)); } var str="你好,世界"; console.log(reverse_2(str));
递归操作,主要是要考虑好截止条件。
时间: 2024-10-11 23:27:03