专栏首页golang小白成长记golang面试题:翻转含有中文、数字、英文字母的字符串

golang面试题:翻转含有中文、数字、英文字母的字符串

问题

翻转含有中文、数字、英文字母的字符串 "你好abc啊哈哈"

代码实现

package main

import"fmt"

func main() {
 src := "你好abc啊哈哈"
 dst := reverse([]rune(src))
 fmt.Printf("%v\n", string(dst))
}

func reverse(s []rune) []rune {
 for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 {
  s[i], s[j] = s[j], s[i]
 }
 return s
}

解释

  • rune关键字,从golang源码中看出,它是int32的别名(-2^31 ~ 2^31-1),比起byte(-128~127),可表示更多的字符
  • 由于rune可表示的范围更大,所以能处理一切字符,当然也包括中文字符。在平时计算中文字符,可用rune。
  • 因此将字符串转为rune的切片,再进行翻转,完美解决。

本文分享自微信公众号 - golang小白成长记(golangxbczj)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一日一技:判断一个字符串中是不是只含有大小写英文字母和数字

    在Python中,如何最简单最快速地判断一个字符串是否仅仅包含大小写英文字母和数字?

    青南
  • 【DB笔试面试457】如何判断一个字符串是否含有中文汉字?

    答案部分 可以利用LENGTH、LENGTHB和TO_SINGLE_BYTE函数来解决这个问题。

    小麦苗DBA宝典
  • 面试题-python3 找出一个字符串中子串,不含有重复字符的最长子串

    示例1: 输入:” abcabcbb” 输出: 3 解释:因为无重复字符的最长子串是”abc”, 所以其长度为3。 示例2: 输入: “bbbbb”” 输...

    上海-悠悠
  • 面试题-python3 找出一个字符串中所有子串是回文的次数

    回文是指正序(从左向右)和倒序(从右向左)读都是一样的。例如:121 ,abcdedcba,123321等都是回文

    上海-悠悠
  • 一步步提升Go语言生成随机字符串的效率

    假如我们要生成一个固定长度的随机字符串,包含大小写字母,没有数字,没有特殊字符串,那么我们怎么做呢?需要怎样优化,才会更简单,更高效?在最终的方案之前,我们看看...

    飞雪无情
  • C++经典算法题-输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数

    cwl_java
  • 算法专题(2)-模拟

    模拟题在NOIP中十分常见,一般属于简单题,需要拿满分。模拟题需要理解题意,按照题目要求的直接进行模拟过程,或者按照题目要求模拟一些数据结构。模拟题最关键的是理...

    用户5325900
  • 字符编码实战

    那么就带来一个问题,怎么用二进制来表示我们程序中需要使用的信息呢,比如 数字、字符、表情等等。

    王磊-AI基础
  • Golang之旅27-Golang知识点总结1

    字符串是由一连串的字符连接起来的字符序列,使用的utf-8编码标识的unicode文本。

    皮大大
  • 分享个 CTF 小工具 bruteHASH

    思路源于一次三小时十二题的内部 CTF 竞赛,其中一道简单 MISC 给出明文范围(字母数字)和 MD5 开头,要求穷举出 flag——这当然不难,python...

    砸漏
  • [GO语言基础] 三.变量声明、数据类型、标识符及编程练习12题

    作为网络安全初学者,会遇到采用Go语言开发的恶意样本。因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识;另一方面是分享与读者,希...

    Eastmount
  • 剑指Offer LeetCode 面试题58 - I. 翻转单词顺序

    输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输...

    TrueDei
  • 我们是80后 golang入坑系列

    现在这个系列,已经开始两极分化了。 点赞的认为风格轻松,看着不困。反之,就有人嫌写的罗里吧嗦,上纲上线。所以善意提醒,里面不只是技术语言,还有段子。专心看技术的...

    随机来个数
  • Codeforces Round #619 (Div. 2)

    A 题目 You are given three strings a, b and c of the same length n. The strings ...

    杨鹏伟
  • Go语言||字符数据类型 rune和byte

    在学习使用golang时,发现字符数据类型比较奇怪,对其类型的意义不甚了解,于是查询了一波。

    啤酒单恋小龙虾
  • 准备冲锋 golang入坑系列

    史前摘要: 本来想写读前必读,但连续几篇博文都写读前必读,感觉就没有了新意。 所以换成史前摘要,反正是一个意思。 此摘要的目的仍然是提醒点击而来的同学,本系列最...

    随机来个数
  • 项目里文件名永远不要用中文!永远不要!

    最近碰到了一个问题,项目中很多文件都是接手过来的中文命名的一些素材,结果在部署的时候文件名全都乱码了,导致项目无法正常运行。

    崔庆才
  • LeetCode - 最长回文串

    LeetCode第409题,难度简单。才发现两年前还用golang刷过几题,然而现在语法都忘完了。

    晓痴
  • 记录一下常用正则表达式

    本文由 Alone88 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为...

    Alone88

扫码关注云+社区

领取腾讯云代金券