面试官让用5种python方法实现字符串反转? 对不起我有16种
最近,我有一个朋友,他决心成为一名程序员,因为他受不了30W+年薪的诱惑。经过一个月的自学编程,我假扮成一个学生兄弟,自信地参加了新生入学。尽管如此,还是进行了十多次面试,但都失败了。
当他在面试中失望时,他来找我,抱怨道:“面试的话题太变态了。例如,一家公司让我用五种编程方法实现字符串反转,我整个面试都用愚蠢的方式度过!
很明显,地基不够坚固。这有五种方法。那只能靠你自己了!让我们开始我的表演吧!~
方法1:反转列表方法
在Python中,列表可以反转。我们只需要将字符串转换为列表,使用反向方法反转它们,然后使用字符串的连接方法遍历列表并将它们合并为字符串。学习资料也可以加下Python扣扣裙:3零4零5零799自己下载学习下。
方法2:循环逆迭代法
字符串是一种序列。我们可以使用循环遍历字符串。然后,我们可以将变量B分配给变量B,并输出变量B以完成字符串反转。
方法3:逆循环迭代法
字符串本身可以切片,当然,也可以设置为-1,反向顺序。这样,变量B的迭代也可以达到反演的效果。逻辑和方法2是相同的。
方法四:逆序列切片
方法2和方法3的最终版本被直接反转并在一个步骤中就位。
方法5:遍历索引法
字符串可以索引为序列。我们首先遍历索引号,然后以相反的顺序提取字母,然后将它们合并成字符串。
方法6:列表弹出方法
列表有一个弹出方法,弹出其中一个元素,默认为最后一个元素。我们设置变量b,然后弹出字符串的最后一个字符,添加变量b,最后反转字符串。
方法七:列表解析式法
方法3是编写代码的简单方法,使用列表解析公式来简化代码编写。最后,合并的字符串由join方法反转。
方法8:反向遍历索引方法
范围函数有三个参数:开始、结束、步骤、左关闭和右打开。我们从最后一个索引开始,以第一个索引结束,以相反的顺序遍历索引,然后向后检索字符串,最后合并它。这是方法5的逆向思维。
方法9:累积相加
使用python中的reduce函数。首先创建一个字符串反相加法函数和字符串,一起传入reduce函数,运行,就可以做字符串反相累加法,最后反相字符串。
方法10:匿名函数方法
方法9的高级版本使用lambda匿名函数创建反转字符串加法函数,然后对其进行累加以获得字符串反转的结果。
方法11:列表反转
.=True列表方法用于按相反顺序排列。但是,这种方法有一个缺点。它不按升序或降序排列,而是用26个英文字母排列。因此,如果字符串没有从小到大排列,则运行后的顺序将是错误的。
方法12:双向队列排序
使用双向队列进行操作。解释双向队列,这是一个数据结构,但是可以轻松地添加到序列的两侧,删除元素。我们遍历字符串,将其添加到双向队列中的左侧,最后使用join方法合并并反转字符串。
方法13:双向队列反转方法:
类似地,使用双向队列,将字符串转换为列表并添加到队列中,然后反转整个队列,最后合并并导出。
方法14:一维数组索引
熊猫的一维数组结构用于以相反的顺序遍历数组并反转字符串。
方法15:函数递归法
使用递归思想,建立函数,然后以相反的顺序添加字符串,直到字符串的长度小于或等于1。
方法16:对称交换法
这是最振奋人心的方法之一~总的想法是穿过弦元素的前半部分,然后与后半部分的对称位置元素交换,以实现弦的反转。这个过程非常合乎逻辑。