码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript--面试--算法--字符串-2

时间:2016-03-27 21:20:50      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:


问题描述:实现翻转字符串函数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));

  递归操作,主要是要考虑好截止条件。

 

JavaScript--面试--算法--字符串-2

标签:

原文地址:http://www.cnblogs.com/ppyst/p/5326727.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!