欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js?字符串反轉(zhuǎn)(倒序)的幾種方式總結(jié)

 更新時(shí)間:2022年10月13日 12:33:55   作者:腦子不太靈光的程序員  
這篇文章主要介紹了js?字符串反轉(zhuǎn)(倒序)的幾種方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

js 字符串反轉(zhuǎn)(倒序)方式

第一種

let str = "i am good man";
let newStr = str.split('').reverse().join("");
console.log(newStr)

首先將字符串轉(zhuǎn)為數(shù)組,再反轉(zhuǎn)數(shù)組,最后將數(shù)組轉(zhuǎn)為字符串

  • split("") ------根據(jù)字符串拆分?jǐn)?shù)組
  • reverse()------數(shù)組反轉(zhuǎn)元素位置
  • join("")-------數(shù)組轉(zhuǎn)回字符串,不帶分隔符

第二種

let str = "i am good man ";
let newStr = "";
for(let i = 0;i<str.length;i++){
? ? let s = str.charAt(str.length-i-1)
? ? newStr += s;
}
console.log(newStr)//nam doog ma i
//從尾部開(kāi)始遍歷字符串,然后逐個(gè)拼接字符,得到最終的結(jié)果。

定義新的空字符串,遍歷str,charAt() 是提取字符串的一個(gè)字符,先去最后一個(gè)字符,再取第二個(gè),依次取,將取到的結(jié)果都放到新的字符前面,以此來(lái)實(shí)現(xiàn)倒序

第三種

let str ="i am good man";
let newStr = Array.prototype.slice.call(str);
console.log(newStr.reverse().join(""))//nam doog ma i

通過(guò)call方法來(lái)改變slice方法的執(zhí)行主體。將數(shù)組的slice方法調(diào)用call方法后,可以讓字符串具有數(shù)組的特性,從而可以直接調(diào)用reverse方法,最后再通過(guò)調(diào)用join方法,得到逆序字符串。

js 算法筆記——反轉(zhuǎn)字符串

反轉(zhuǎn)字符串

編寫(xiě)一個(gè)函數(shù),其作用是將輸入的字符串反轉(zhuǎn)過(guò)來(lái)。輸入字符串以字符數(shù)組 char[] 的形式給出。

示例 1:

  • 輸入:[“h”,“e”,“l”,“l”,“o”]
  • 輸出:[“o”,“l”,“l”,“e”,“h”]

思路

  • 數(shù)組reverse方法

最簡(jiǎn)單,最直接的解法,既然是數(shù)組形式輸出,直接數(shù)組reverse方法倒置數(shù)組即可,既然是算法題,肯定是不希望用數(shù)組reverse方法來(lái)解決。

  • 雙指針?lè)椒?/strong>

對(duì)于字符串,我們定義兩個(gè)指針(也可以說(shuō)是索引下表),一個(gè)從字符串前面,一個(gè)從字符串后面,兩個(gè)指針同時(shí)向中間移動(dòng),并交換元素。

  • 代碼實(shí)現(xiàn)
/**
 * @param {character[]} s
 * @return {void} Do not return anything, modify s in-place instead.
 */
 //數(shù)組方法實(shí)現(xiàn)
var reverseString = function(s) {
    return s.reverse();
};

//雙指針?lè)椒▽?shí)現(xiàn)
var reverseString = function(s) {
    let l = -1 
    let r = s.length
	while(++l < --r) [s[l], s[r]] = [s[r], s[l]];
    return s;
};

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論