LeetCode 字符串反序

发布于 2023-05-05 22:21:36 字数 1383 浏览 49 评论 0

整数反转

/**
 * 整数反转
 * @param {Number} num 所求整数
 * @returns {String} 返回字符串类型
 */
function intReverse(num) {
    let i = num / 10
    let j = num % 10
    if (i < 1) {
        // 小于 10 直接返回
        return num.toString()
    } else {
        let nextNum = Math.floor(i)
        // 要采用字符串拼接,否则就求和了
        return `${j}${intReverse(nextNum)}`
    }
}

let num = 123456
console.log(intReverse(num))        // 654321
console.log(typeof intReverse(num)) // string

字符串数组反转

这里不讨论 Array.prototype.reverse.call(someArray)Array.prototype.reverse.apply(someArray)

/**
 * 字符串数组反转
 * @param {character[]} arr
 * @return {void} Do not return anything, modify arr in-place instead.
 */
function reverseString(arr) {
    let len = arr.length
    if (len <= 1) return
    // 数组长度为奇数时,中间元素无需处理
    for (let i = 0, j = len - 1; i < len / 2; i++, j--) {
        let temp = arr[i]
        arr[i] = arr[j]
        arr[j] = temp
    }
}

let num = ['h', 'e', 'l', 'l', 'o']
reverseString(num)
console.log(num)    // ['o', 'l', 'l', 'e', 'h']

// while 循环处理
// function reverseString(arr) {
//     let len = arr.length
//     if (len <= 1) return
//     let i = 0, j = len - 1
//     while (i < j) {
//         let temp = arr[i]
//         arr[i] = arr[j]
//         arr[j] = temp
//         i++
//         j--
//     }
// }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

决绝

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

懂王

文章 0 评论 0

清秋悲枫

文章 0 评论 0

niceone-tech

文章 0 评论 0

小伙你站住

文章 0 评论 0

刘涛

文章 0 评论 0

南街九尾狐

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文