-
字符串逆序
2020-09-10 11:01:59字符串逆序,这是非常普遍的一道算法面试题,相信很多刷过算法题的朋友都一定对这个问题并不陌生。 这个问题有很多衍生问题,他的实现方式也有很多。今天,就来教大家一个代码行数最好的实现方式。 那就是使用递归的...字符串逆序,这是非常普遍的一道算法面试题,相信很多刷过算法题的朋友都一定对这个问题并不陌生。
这个问题有很多衍生问题,他的实现方式也有很多。今天,就来教大家一个代码行数最好的实现方式。
那就是使用递归的方式,用1行代码实现字符串逆序。
代码如下:
public class MyClass { public static void main(String args[]) { System.out.println(reverseString("Hollis is a Coder")); } private static String reverseString(String sentense) { return sentense.isEmpty() ? sentense:reverseString(sentense.substring(1)) + sentense.charAt(0); } }
输出结果:
redoC a si silloH
如上,核心代码只有一行,那就是:
return sentense.isEmpty() ? sentense : reverseString(sentense.substring(1)) + sentense.charAt(0);
这行代码中主要有两个知识点,分别使用了三目运算符和递归。
-
三目运算符
-
- 对于条件表达式
b ? x : y
,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。
- 对于条件表达式
-
递归
-
- 程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
-
-
python字符串逆序函数_Python实现字符串的逆序 C++字符串逆序算法
2020-12-05 11:25:34本文实例为大家分享了Python/C++实现字符串逆序的具体代码,供大家参考,具体内容如下题目描述:将字符串逆序输出Python实现一:借助于列表的reverse()函数,需要注意的是,该函数没有返回值,只会让列表原地逆序...本文实例为大家分享了Python/C++实现字符串逆序的具体代码,供大家参考,具体内容如下
题目描述:将字符串逆序输出
Python实现一:
借助于列表的reverse()函数,需要注意的是,该函数没有返回值,只会让列表原地逆序
借助于”“.join()函数,实现列表向字符串的转换
def strReverse(s):
lst = list(s)
lst.reverse()
ans = "".join(list(lst))
return ans
s = str(input())
print(strReverse(s))
Python实现二:
直接使用切片功能s[::-1]
def strReverse(s):
return s[::-1]
s = str(input())
print(strReverse(s))
C++实现:
直接将字符串逆序输出即可
#include
#include
using namespace std;
void strReverse(string s)
{
int n = s.length();
//逆序输出
for(int i = n - 1; i >= 0; i--)
{
cout << s[i];
}
cout << endl;
}
int main()
{
string str;
cin >> str;
strReverse(str);
return 0;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
-
C字符串逆序、C++字符串逆序
2020-08-06 15:26:351.C字符串逆序: void CReverse(char* ch) { int nLen = strlen(ch) - 1; char szStr; for (int i = 0; i < nLen - i; i++) { szStr = ch[i]; ch[i] = ch[nLen - i]; ch[nLen - i] = szStr; } ch...1.C字符串逆序:
void CReverse(char* ch) { int nLen = strlen(ch) - 1; char szStr; for (int i = 0; i < nLen - i; i++) { szStr = ch[i]; ch[i] = ch[nLen - i]; ch[nLen - i] = szStr; } ch[nLen +1] = 0; }
2.C++字符串逆序(利用栈的先进后出的原理)
void CPPReverse(std::string str, std::string &stringStr) { std::stack<char> myStack; for (int i = 0; i < str.length(); i++) { myStack.push(str[i]); } for (int nIndex = 0; 0 < myStack.size(); nIndex++) { stringStr[nIndex] = myStack.top(); myStack.pop(); } }
调用:
#include <iostream> #include <stdio.h> #include <stack> using namespace std; int main(int argc, char* argv[]) { char szCTable[] = "12345"; char szCPPTable[] = "6789"; std::string stringStr = ""; CPPReverse(szCTable, stringStr); std::cout << "C++ 反转:" << stringStr.c_str() << std::endl; CReverse(szCPPTable); std::cout << "C 反转:" << szCPPTable << std::endl; return 0; }
结果:
-
python字符串逆序_python如何对指定字符串逆序
2020-11-21 03:44:23python对指定字符串逆序的方法:1、:直接使用字符串切片功能逆转字符串;2、遍历构造列表法;3、使用reverse函数实现;4、借助collections模块方法extendleft;5、使用递归实现。python对指定字符串逆序的方法:...python对指定字符串逆序的方法:1、:直接使用字符串切片功能逆转字符串;2、遍历构造列表法;3、使用reverse函数实现;4、借助collections模块方法extendleft;5、使用递归实现。
python对指定字符串逆序的方法:
方法一:直接使用字符串切片功能逆转字符串#!usr/bin/env python
# encoding:utf-8
def strReverse(strDemo):
return strDemo[::-1]
print(strReverse('pythontab.com'))
结果:
moc.batnohtyp
方法二:遍历构造列表法
循环遍历字符串, 构造列表,从后往前添加元素, 最后把列表变为字符串#!usr/bin/env python
# encoding:utf-8
def strReverse(strDemo):
strList=[] for i in range(len(strDemo)-1, -1, -1):
strList.append(strDemo[i])
return ''.join(strList)
print(strReverse('pythontab.com'))
结果:
moc.batnohtyp
方法三:使用reverse函数
将字符串转换为列表使用reverse函数#!usr/bin/env python
# encoding:utf-8
def strReverse(strDemo):
strList = list(strDemo)
strList.reverse()
return ''.join(strList)
print(strReverse('pythontab.com'))
结果:
moc.batnohtyp
方法四:借助collections模块方法extendleft#!usr/bin/env python
# encoding:utf-8
import collections
def strReverse(strDemo):
deque1=collections.deque(strDemo)
deque2=collections.deque()
for tmpChar in deque1:
deque2.extendleft(tmpChar)
return ''.join(deque2)
print(strReverse('pythontab.com'))
结果:
moc.batnohtyp
方法五:递归实现#!usr/bin/env python
# encoding:utf-8
def strReverse(strDemo): if len(strDemo)<=1:
return strDemo
return strDemo[-1]+strReverse(strDemo[:-1])
print(strReverse('pythontab.com'))
结果:
moc.batnohtyp
方法六:借助基本的Swap操作,以中间为基准交换对称位置的字符#!usr/bin/env python #encoding:utf-8
def strReverse(strDemo):
strList=list(strDemo)
if len(strList)==0 or len(strList)==1:
return strList i=0 length=len(strList)
while i < length/2: s
trList[i], strList[length-i-1]=strList[length-i-1], strList[i] i+=1
return ''.join(strList)
print(strReverse('pythontab.com'))
结果:
moc.batnohtyp相关免费学习推荐:python视频教程
以上就是python如何对指定字符串逆序的详细内容,更多请关注gxlcms其它相关文章!
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:https://www.php.cn/python-tutorials-461588.html
-
Python实现字符串的逆序 C++字符串逆序算法
2020-09-20 13:33:50主要为大家详细介绍了Python实现字符串的逆序,C++将字符串逆序输出,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
python字符串逆序函数_python如何对指定字符串逆序
2020-12-05 11:25:35python对指定字符串逆序的方法:1、:直接使用字符串切片功能逆转字符串;2、遍历构造列表法;3、使用reverse函数实现;4、借助collections模块方法extendleft;5、使用递归实现。python对指定字符串逆序的方法:... -
python字符串逆序_python之字符串逆序
2020-11-26 08:08:05python之字符串逆序1.贴题题目来自PythonTip给你一个字符串 a, 请你输出逆序之后的a。例如:a=‘xydz’则输出:zdyx2.说明思路基本分为两种,一是编写循环,每次取字符串的一个字符,从后往前取,可以直接输出,也... -
java中字符串逆序_[Java教程]一行代码实现字符串逆序输出
2021-02-26 16:10:22[Java教程]一行代码实现字符串逆序输出02014-05-06 14:00:06字符串逆序实现三部曲:1、将字符串转为数组,一个字符为数组的一个元素;2、将数组倒置;3、再将数组元素拼接为字符串。方法一:var str = "naYgniYgnehZ...