Golang LeetCode练习题及答案(二)

haicoder_ibai · · 1098 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

> 本文参考 [嗨客网](https://haicoder.net) Golang [实战](https://haicoder.net/case/index.html) # **Golang LeetCode练习题及答案(二)** # **前言** 本篇文章是关于一部分 Golang LeetCode 的题目以及详细的解题思路,每道题都附有答案链接,答案解题的每个步骤到运行结果都十分详细,十分适合小白拿来练习,也十分适合准备面试的各位练手,这篇文章我会不断更新。题目都是对应 LeetCode 中练习题,答案是使用 Golang 的解题思路及方法,大家在学习了 [Golang](https://haicoder.net/golang/golang-tutorial.html) 相关教程之后,刷几道 LeetCode 相关的练习题,在学习过程中,觉得十分抽象、晦涩难懂的知识点,配合一道练习题,或许会有意想不到的效果哦!   # **正文:Golang LeetCode(二)** ### **6.Golang Z型变换** **题目**:用 **[Golang](https://haicoder.net/golang/golang-tutorial.html)** 实现,将一个给定 **[字符串](https://haicoder.net/golang/golang-string.html)** 根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下: ```go L C I R E T O E S I I G E D H N ``` 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的 **[函数](https://haicoder.net/golang/golang-func.html)**: ```go string convert(string s, int numRows); ``` **答案**:[https://haicoder.net/case/golang-leetcode/golang-leetcode06.html](https://haicoder.net/case/golang-leetcode/golang-leetcode06.html) ### **7.Golang整数反转** **题目**:用 **[Golang](https://haicoder.net/golang/golang-tutorial.html)** 实现,给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 **示例一**: ```go 输入: 123 输出: 321 ``` **示例二**: ```go 输入: -123 输出: -321 ``` **示例三**: ```go 输入: 120 输出: 21 ``` **答案**:[https://haicoder.net/case/golang-leetcode/golang-leetcode07.html](https://haicoder.net/case/golang-leetcode/golang-leetcode07.html) ### **8.Golang字符串转整型** **题目**:用 **[Golang](https://haicoder.net/golang/golang-tutorial.html)** 实现 atoi **[函数](https://haicoder.net/golang/golang-func.html)**,使其能将 **[字符串](https://haicoder.net/golang/golang-string.html)** 转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。 注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。在任何情况下,若函数不能进行有效的转换时,请返回 0。 **示例一**: ```go 输入: "42" 输出: 42 ``` **示例二**: ```go 输入: " -42" 输出: -42 解释: 第一个非空白字符为 '-', 它是一个负号。我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。 ``` **示例三**: ```go 输入: "4193 with words" 输出: 4193 解释: 转换截止于数字 '3' ,因为它的下一个字符不为数字。 ``` **示例四** ```go 输入: "words and 987" 输出: 0 解释: 第一个非空字符是 'w', 但它不是数字或正、负号。因此无法执行有效的转换。 ``` **示例五** ```go 输入: "-91283472332" 输出: -2147483648 解释: 数字 "-91283472332" 超过 32 位有符号整数范围。 因此返回 INT_MIN (−2^31) 。 ``` **答案**:[https://haicoder.net/case/golang-leetcode/golang-leetcode08.html](https://haicoder.net/case/golang-leetcode/golang-leetcode08.html) ### **9.Golang回文数** **题目**:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 **示例一**: ```go 输入: 121 输出: true ``` **示例二**: ```go 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 ``` **示例三**: ```go 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 ``` **答案**:[https://haicoder.net/case/golang-leetcode/golang-leetcode09.html](https://haicoder.net/case/golang-leetcode/golang-leetcode09.html) ### **10.Golang正则匹配** **题目**:用 **[Golang](https://haicoder.net/golang/golang-tutorial.html)** 实现,给你一个 **字符串** s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ```go '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 ``` 所谓匹配,是要涵盖整个字符串 s 的,而不是部分字符串。s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 `.` 和 `*`。 **示例一**: ```go 输入: s = "aa" p = "a" 输出: false 解释: "a" 无法匹配 "aa" 整个字符串。 ``` **示例二**: ```go 输入: s = "aa" p = "a*" 输出: true 解释: 因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 'a'。因此,字符串 "aa" 可被视为 'a' 重复了一次。 ``` **示例三**: ```go 输入: s = "ab" p = ".*" 输出: true 解释: ".*" 表示可匹配零个或多个('*')任意字符('.')。 ``` **示例四** ```go 输入: s = "aab" p = "c*a*b" 输出: true 解释: 因为 '*' 表示零个或多个,这里 'c' 为 0 个, 'a' 被重复一次。因此可以匹配字符串 "aab"。 ``` **示例五** ```go 输入: s = "mississippi" p = "mis*is*p*." 输出: false ``` **答案**:[https://haicoder.net/case/golang-leetcode/golang-leetcode10.html](https://haicoder.net/case/golang-leetcode/golang-leetcode10.html)   # **后续** **上一章**:**[Golang LeetCode练习题及答案(一)](https://studygolang.com/articles/30446)** **下一章**:**[Golang LeetCode练习题及答案(三)](https://studygolang.com/articles/30649)** **其他章节**:**[Golang LeetCode练习题大纲](https://studygolang.com/articles/30473)** 因为文章数量过多,整理不易,所以如果更新过慢,请大家谅解,文章我会尽自己最大速度更新,大家可以先关注我,或者收藏下这篇文章,我会持续更新的,以上案例是提供给有一定 Golang 基础的同学看的,如果感觉做题有些压力,可以先在各类教程网先学习 Golang 语言,本人这里当然首推上方习题及答案来源的 **[嗨客网](https://haicoder.net/)**。 ***2020.09.01更,未完待续。。。。。***

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1098 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传