初级算法_反转字符串
LeetCode_初级算法_反转字符串
源
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 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"]
思路:
第一种:使用C语言中的strrev函数,但是该函数只能对char*类型进行操作,不能作用与string对象.
第二种:使用头文件中的reverse(_BIter, _BIter),函数传入的参数是两个迭代器,分别指向字符串的第一个元素和末尾.
第三种:使用string类中的逆向迭代器 rbegin()和rend().
第四种:使用数组.
第五种:使用栈的特点.
第六种:使用异或.
第七种:递归实现
一看到字符串反转就想直接交换首尾.
class Solution {
public:void reverseString(vector<char>& s) {for(int i=0,j=s.size()-1;i<j;i++,j--) {char c=s[i];s[i]=s[j];s[j]=c;}}
};
用时 8ms.
初级算法_反转字符串相关推荐
- 初级算法-12.反转字符串
题目描述: 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问 ...
- LeetCode_初级算法_数组
LeetCode|初级算法_数组 题目如下: 1.1 从排序数组中删除重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间 ...
- 反转字符串java实现_反转字符串的几种实现(Java)
反转字符串的几种实现(Java) 首先第一种是利用Java中的类库对象进行反转 //第一种 使用Java类库的diam实现反转 public String reverse(String str){ S ...
- swift算法:反转字符串
1.描述 编写一个函数,其作用是将输入的字符串反转过来,输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用O(1)的额外空间解决这一问题 你 ...
- 算法--------数组------反转字符串中的元音字母
编写一个函数,以字符串作为输入,反转该字符串中的元音字母.示例 1:输入: "hello" 输出: "holle" 示例 2:输入: "leetcod ...
- leetcode算法题--反转字符串
原文链接:https://leetcode-cn.com/problems/reverse-string/ 双指针法 void reverseString(vector<char>& ...
- 初级算法_数组 --- 有效的数独
1.题目 请你判断一个 9 x 9 的数独是否有效.只需要 根据以下规则 ,验证已经填入的数字是否有效即可: 数字 1-9 在每一行只能出现一次: 数字 1-9 在每一列只能出现一次: 数字 1-9 ...
- C++反转字符串的算法(附完整源码)
C++反转字符串的算法 C++反转字符串的算法完整源码(定义,实现,main函数测试) C++反转字符串的算法完整源码(定义,实现,main函数测试) #include<iostream> ...
- 简单记录牛客top101算法题(初级题C语言实现)判断回文字符串 反转字符串 合并两个有序的数组
1. 判断是否为回文字符串 给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文.如果是回文请返回true,否则返回false. 字符串回文指该字符串正序与其逆序逐字符一致. // ...
最新文章
- javascript中Math.random()产生随机数总结
- centos minimal Bind 主从服务器部署
- Node.js npm 详解
- autosar架构详细介绍_基于MATLAB环境搭建满足AUTOSAR标准的模型高级培训班
- java设计单词英译汉小助手_基于java英汉互译词典设计课程设计.doc
- workflow-工作流
- java rgb565转rgb888_RGB565 与 RGB888的相互转换 | 学步园
- 检测到硬盘错误:在MBR硬盘上没有找到可以引导的分区
- Kubernetes 中进行 PVC 的扩容
- Java内存模型中的happen-before是什么?
- 数据结构——树(树的基本概念)
- 金融系统性风险的网络模型
- wps纸张大小设置成A4_A4纸是最广泛的打印纸,隐藏了什么秘密?
- Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255]
- 20201123英语单词学习(仅供自己记录)
- Knights of the Round Table
- 优秀的网络工程师,需要具备什么?
- 2017年工作的总结
- python 使用字节流bytes格式读取文件转为int格式,再转为0,1字符串格式
- C++ 控制台程序的线程分析