基础知识 // String -> char[] char[] string=s.toCharArray(); // char[] -> String String.valueOf(string) 注意replace replaceAll区别,都是全局匹配替换,不过replaceAll是正则匹配 LeetCode 344.反转字符串 分析1.0 基础的前后指针元素互换 class Solution { public void reverseString(char[] s) { if(s==nu…
出题:反转链表(递归和非递归解法): 分析:有递归跟非递归实现,注意对原始链表头节点的处理,因为其他节点都指向下一个节点,其需要指向NULL: 解题: struct Node { int v; Node *next; }; Node* NonRecursiveListReverse(Node *head) { if(head == NULL) return NULL; Node *previous=NULL, *current=head, *temp=NULL; /** * 一定需要注意删除原来…
第一题344.反转字符串 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题. ψ(`∇´)ψ 我的思路 取到字符串的中点,依次交换前后两部分的位置 package string; public class ReverseString { public static void reverseString(char[] s) { char temp; for (int…
[算法训练营day8]LeetCode344. 反转字符串 LeetCode541. 反转字符串II 剑指Offer05. 替换空格 LeetCode151. 翻转字符串里的单词 剑指Offer58-II. 左旋转字符串 LeetCode344. 反转字符串 题目链接:344. 反转字符串 初次尝试 双指针法,比较简单的一道题,熟悉一下字符串的操作. class Solution { public: void reverseString(vector<char>& s) { int l…
题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标垫符号和普通字母一样处理.例如输入字符串“I am a student.”,则输出“student. a am I ”. 解题思路:第一翻转句子中所有的字符.比如翻转“I am a student.”中所有的字符得到“.tneduts a ma I”,此时不但翻转了句子中单词的顺序,连单词内的字符顺序也被翻转了,第二步再翻转每个单词中字符的顺序,就得到了“student. a am I”.这正是符合题目要求的输…
题目:左旋转字符串 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作的功能.比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab". 示例 输入 : s = "abcdefg" , n = 2 输出 : s = "cdefgab" 解题思路: 编程语言:C++ 使用两个for循环,第一个for循环将n之后的字符串存入新字符串,第二个for…
[面试题042]翻转单词顺序VS左旋转字符串 题目一:     输入一个英文句子,反转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理.     例如输入字符串“I am a student.”,则输出“student. a am I”. 思路一:     反转字符串的顺序,这样子每个单词的顺序也反转了,然后再次反转每个单词,这样子就做到了题目要求. ——关键是实现一个函数以反转字符串中的一段. 1234567891011121314151617181920212…
全部内容来自<剑指offer>. 题目一: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字符一样处理.例如输入字符串“I am a student.”,则输出 “student. a am I”. ANSWER: void reverse(char *pBegin, char *pEnd) { if (pBegin == NULL || pEnd == NULL) return; while (pBegin < pEnd) { char tm…
菜鸡小白不禁感叹:C++真好用!!! 题目描述: 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作的功能.比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab". 示例 1:输入: s = "abcdefg", k = 2输出: "cdefgab"示例 2:输入: s = "lrloseumgh", k = 6输出:…
一.题目一:翻转单词顺序 1.1 题目说明 题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理.例如输入字符串"I am a student.",则输出"student. a am I". 1.2 解题思路 第一步翻转句子中所有的字符.比如翻转"I am a student."中所有的字符得到".tneduts a ma I",此时不但翻转了句子中单词的顺序,连单词内…