組合語言中有一種移位指令叫做迴圈左移(rol),現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s=」abcxyzdef」,要求輸出迴圈左移3位後的結果,即「xyzdefabc」。是不是很簡單?ok,搞定它!
有了第58題分析的思路【劍指offer】面試題58 翻轉單詞順序列,我們可以這麼來解決,就把前n個字元通過字串拼接的方式放到後n個位置即可達到目的,做法就是用兩個變數來存放前n個變數和後size-n個變數,然後進行拼接。
class solution
else
tmp2 +
= str[i]
;//存放後size-n個字元
} res = tmp2 + tmp1;
//反轉前n個字元,實際上就是換位拼接
return res;}}
;
劍指offer 面試題58(2) 左旋轉字串
組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 解法1 開闢乙個新的陣列來存放左移後會溢位的字串 新...
劍指offer面試題7
面試題7 用兩個棧實現佇列 using namespace std template class cqueue 預備知識 佇列 佇列也是一種常見的資料結構 特點是先進先出 fifo 在stl中有stack和queue兩個容器 template class stack 成員函式 empty size ...
劍指offer面試題11
面試題1 數值的整數的次方 題目 實現函式double power double base,int exponent 求base的 exponent次方。不得使用庫函式,同時不需要考慮大數問題。思路 首先應該明確指數的可能取值 正整數,0,負整數 另外還需要考慮底數是0的情形。對於負整指數,我們可以...