每日算法2:翻转字符串

  • 每日算法2:翻转字符串已关闭评论
  • 101 次浏览
  • A+
所属分类:Web前端
摘要

// 解题思路1:将字符串转化为数组,使用reverse(),再通过join()拼接起来
// 解题思路2:准备一个空的数组用来盛放翻转的字符,最后join拼接数组

题目描述:判断字符串中重复次数最多的字符

// 解决思路:
// 1.判断字符重复的方法
// 创建空数组,利用键值对形式对每个字符进行计数
// 用到 采用for循环结合if判断 对象[键] 是否有值,无则undefined
// arr.charAt(i)取得arr中i索引号下的元素
// 2.对重复的字符进行计数
// 若对象中无某字符,则赋值1;有则加1
// 3.找字符计数最大的一个
// 采用 for属性in obj 对 对象的值 进行大小比较
点击查看代码
function mostLetter(str){     var obj = {};          for(var i =1;i<=str.length;i++){         if(!obj[str.charAt(i)]){             obj[str.charAt(i)] = 1         }else{               obj[str.charAt(i)]++;         }      }        var maxLetter = '';       var iMost = 0;       for(var i in obj){         if(obj[i]>iMost){             iMost = obj[i];             maxLetter = i;         }       }          return '最多的字符是' + maxLetter + '次数为' + iMost;  } var str ='dhhshhsajjaajiiiiiii' console.log(mostLetter(str)) 

题目要求: 字符串反转 ‘12345’,‘54321’

// 解题思路1:将字符串转化为数组,使用reverse(),再通过join()拼接起来
// 解题思路2:准备一个空的数组用来盛放翻转的字符,最后join拼接数组

点击查看代码
<body>   题目要求: 字符串反转 ‘12345’,‘54321’      <div id="demo"></div>     <div id="demo1"></div>     <script>         // 解题思路1:将字符串转化为数组,使用reverse(),再通过join()拼接起来         function reverseStr1(str){             return str.split('').reverse().join('')         }         // 解题思路2:准备一个空的数组用来盛放翻转的字符,最后join拼接数组         function reverseStr2(str){             var arr = [];             for(var i = 0;i<str.length;i++){                 arr[str.length-1-i] = str[i]             }             return arr.join('')         }         var str = 'abcdrfff'         document.getElementById('demo').innerHTML = reverseStr1(str);         document.getElementById('demo1').innerHTML = reverseStr2(str);      </script> </body>