资源经验分享LeetCode初级算法--字符串01:反转字符串

LeetCode初级算法--字符串01:反转字符串

2019-10-22 | |  101 |   0

原标题:LeetCode初级算法--字符串01:反转字符串

原文来自:博客园      原文链接:http://www.xinhuanet.com/2019-09/09/c_1124976366.htm


一、引子

这是由LeetCode官方推出的的经典面试题目清单~
这个模块对应的是探索的初级算法~旨在帮助入门算法。我们第一遍刷的是leetcode推荐的题目。
查看完整的剑指Offer算法题解析请点击github链接:
github地址

二、题目

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。

示例 1:

输入:["h","e","l","l","o"]
输出:["o","l","l","e","h"]

示例 2:

输入:["H","a","n","n","a","h"]
输出:["h","a","n","n","a","H"]

1、思路

首先我们要注意是,不要给另外的数组分配额外的空间,你必须原地修改输入数组

python自带的reverse方法可以直接进行翻转,这是一种方法。

另一种方法,使用指针,我们可以看到翻转之后首位元素进行的调换,我们让头指针指向第一个元素,尾指针指向第二个元素,这样进行数组元素调换。

2、编程实现

python

class Solution(object):    def reverseString(self, s):        """
        :type s: List[str]
        :rtype: None Do not return anything, modify s in-place instead.
        """        #第一种使用reverse函数        #s.reverse()        
        #第二种使用指针
        head = 0
        tail = len(s)-1        while head < tail:
            s[head],s[tail] = s[tail],s[head]
            head += 1
            tail -=1

AIMI-CN AI学习交流群【1015286623】 获取更多AI资料

分享技术,乐享生活:我们的公众号计算机视觉这件小事每周推送“AI”系列资讯类文章,欢迎您的关注!

本文由博客一文多发平台 OpenWrite 发布!

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:LeetCode初级算法--字符串02:字符串中的第一个唯一字符

下一篇: 【机器学习实战】验证集效果比测试集好怎么办?

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...