反轉字串,但其指定的子串不反轉

2021-08-03 21:44:22 字數 737 閱讀 9724

問題

給定乙個字串,乙個這個字串的子串,將第乙個字串反轉,但保留子串的順序不變。

輸入:第乙個字串:「welcome you, my friend」

子串:「you」

輸出:「dneird ym ,you emoclew」

分析 1,掃瞄一遍第乙個字串,然後用stack把它反轉,同時記錄下子串的出現的位置;

2,掃瞄一遍把記錄下來的子串再用stack反轉;

3,將堆疊裡的字元彈出,這樣子串又恢復了原來的順序;

**

#include 

#include

#include

using

namespace

std;

const

char* reverse(const

char* s1,const

char *token)

if(*ptoken =='\0')

ptoken = token;

rear = head;

}else

}char *preturn = new

char[strlen(s1)+1];

int i = 0;

while(!stack1.empty())

preturn[i] = '\0';

return preturn;

}int main()

面試 字串反轉 單詞不反轉

面試題目 i lover your name 變成 name your lover i 我的做法 我是考慮到傳遞的分割串可能為多個字元 更好的做法 b 無需申請占用更多的空間,效率也較高,複雜度增加!這個演算法可以相容各自分隔符,任何分隔串都是可以的 b package com.data 字串反轉 ...

字串 反轉單詞不反轉單詞內容

反轉句中的單詞 單詞內容不變 比如 輸入wuhan is dog 輸出 dog is wuhan 和字串迴圈左移類似 兩次反轉 先整體反轉 再用split函式 分割 再依次反轉合併 class solution public string fun string s stringbuffer sb n...

反轉字串,但指定的子串不翻轉 C語言

首先把整個字串反轉過來,然後用查詢子串的函式找到子串,再翻轉回來 char mystrstr char str,char sub char p null,q null,c null int found 0 p str while p 0 if 0 q p if 1 found else int st...