151.翻轉字串裡的單詞 卡碼網:55.右旋轉字串

晴夜空發表於2024-07-03

151.翻轉字串裡的單詞 卡碼網:55.右旋轉字串

151.翻轉字串裡的單詞

題目連結 :

151. 反轉字串中的單詞 - 力扣(LeetCode)

Code :

class Solution {
public:
string reverseWords(string s) {

// 單詞 級 翻轉 , 而 不是 單詞 內 翻轉

// 棧



stack<string> stack_For_Word ;

// 清理

// / 跳 至 第一個 有效 字元 / 字母

int i_Work = 0 ;

while(s[i_Work] == ' ' )
{
i_Work ++ ;
}


//string str_Cache_For_Word = "" ;

while(s[i_Work] != '\0')
{
while(s[i_Work] == ' ' )
{
i_Work ++ ;
}

int Find = 0 ;

string str_Cache_For_Word = "";

while(s[i_Work] != ' ' && s[i_Work] != '\0' )
{
str_Cache_For_Word += s[i_Work] ;

i_Work ++ ;

Find = 1 ;

}

if(Find == 1 )
{
stack_For_Word.push(str_Cache_For_Word);

}



// “ 空 串 被 新增 進去 了 ”

// need Check



// i_Work ++ ;
}


string str_For_Return = "";



while(stack_For_Word.empty() != true)
{
string str_Cache_For_Word = stack_For_Word.top();

str_For_Return += str_Cache_For_Word ;

stack_For_Word.pop();

if(stack_For_Word.empty() != true)
{
str_For_Return += " " ;
}


}


return str_For_Return ;


}
};

卡碼網:55.右旋轉字串

題目連結 :

55. 右旋字串(第八期模擬筆試) (kamacoder.com)

Code :

#include<iostream>
#include<string>

using namespace std ;


int main()
{

int k ;

string s ;

string str_Receive = "" ;

string str_Cache = "" ;

int ptr_2;
int ptr_1;

int i ;

int num_Count_s_Length = 0 ;
int record_Pace_Walk = 0 ;

cin>>k;

cin>>s;


ptr_2 = 0 ;
ptr_1 = 0 ;

//for(i = 0 ; i < k ; i++ )
//{
// ptr_2 ++ ;
//}

// “ 演算法 ”

ptr_2 = k ;


while( s[ptr_2] != '\0' )
{

str_Cache += s[ptr_1] ;


ptr_2 ++ ;
ptr_1 ++ ;

record_Pace_Walk ++ ;


}


num_Count_s_Length = record_Pace_Walk + k ;


while( s[ptr_1] != '\0' )
{
str_Receive += s[ptr_1] ;

ptr_1 ++ ;

}


// or

//for( i = 0 ; i < k ; i++ )
//{
// str_Receive += s[ptr_1] ;

//}


str_Receive += str_Cache ;


cout<<str_Receive;



return 0 ;


}

相關文章