題目
寫乙個函式,判斷乙個字串是否為另外乙個字串旋轉之後的字串。
例如:給定s1 =aabcd和s2 = bcdaa,返回1
給定s1=abcd和s2=acbd,返回0
aabcd左旋乙個字元得到abcda
aabcd左旋兩個字元得到bcdaa
aabcd右旋乙個字元得到daabc
思路:通過移動乙個字串與另乙個字串比較
原始碼
#define _crt_secure_no_warnings 1
#include
#include
#include
void
left_move
(char
*s1,
int k)
//乙個引數為字串首位址,乙個是移動的偏移量
*str = tmp;
k--;}
}int
judge_function
(char
*s1,
const
char
*s2)
//乙個引數為字串首位址,還有乙個是比較的字串首位址
else
for(i =
0; i <=
(strlen
(s1)-1
); i++)}
return0;
}int
main()
執行截圖 C語言之字串旋轉
字串在語言中也是非常重要的存在,所以對於字串也有非常多的知識,而今天我就要和大家分享的是關於字串的一些問題 具體問題如下 實現乙個函式,可以左旋字串中的k個字元。abcd左旋乙個字元得到bcda abcd左旋兩個字元得到cdab 思路 其實這個問題我感覺就比較容易了,就是將乙個陣列中字元的位置按順序...
C語言字串的旋轉
1.字串的任意次數左旋轉 方法1.時間複雜度o n 2 include include include pragma warning disable 4996 void rotate char arr,int len,int num arr len 1 a 再將首字元放到字串的尾 num int m...
字串的旋轉 C語言
abcd左旋乙個字元得到bcda abcd左旋兩個字元得到cdab 思路1 設計迴圈使其可以旋1次,然後讓他執行n次 void leftround char src,int time src j tmp 思路2 但是一次一次轉畢竟太麻煩,我們可以選擇拼接法,一次到位 void leftround c...