c++ - 【LeetCode】Word Pattern
問題描述
我在 LeetCode 上練習(xí) Word Pattern(題目連接點(diǎn)這里),寫的程序放在本地VS2008上跑如下實(shí)例:
pattern = 'abba', str = 'dog cat cat fish' should return false.
沒有問題,返回的是false,但是放在LeetCode 上提交,提示錯(cuò)誤,錯(cuò)誤如下:
代碼如下:
class Solution {public: bool wordPattern(string pattern, string str) {const int len = pattern.length();char * c = new char[len+1];strcpy(c, pattern.c_str() );char * arr[1024];int num = 0;char * pch;pch = strtok(c, ' ');while (pch != NULL){ arr[num++] = pch; pch = strtok(NULL, ' ');}vector<char> vecStr;vector<char *> vecPattern;for (int i = 0; i < num; ++i){ for (int j = 0; j < vecStr.size(); ++j) {if (vecStr[j] == str[i] && *(vecPattern[j]) != *(arr[i]) ){ return false;} } for (int j = 0; j < vecPattern.size(); ++j) {if (*(vecPattern[j]) == *(arr[i]) && vecStr[j] != str[i]){ return false;} } vecStr.push_back(str[i]); vecPattern.push_back(arr[i]);}return true; }};
求指教。
問題解答
回答1:我拿你的代碼運(yùn)行了一下發(fā)現(xiàn)就是錯(cuò)的呀。為什么呢,因?yàn)?/p>
pch = strtok(c, ' '); while (pch != NULL) {arr[num++] = pch;pch = strtok(NULL, ' '); }
這里你的c本來應(yīng)該是str,你卻指向了pattern。
而且我覺得你寫到后面pattern和str可能在你腦子里已經(jīng)亂掉了,你還得接著往下改。
相關(guān)文章:
1. css3 - 這個(gè)右下角折角用css怎么畫出來?2. css3 - 沒明白盒子的height隨width的變化這段css是怎樣實(shí)現(xiàn)的?3. javascript - canvas 裁剪空白區(qū)域4. atom開始輸入!然后按tab只有空格出現(xiàn)沒有html格式出現(xiàn)5. javascript - 移動(dòng)端自適應(yīng)6. javascript - 在 model里定義的 引用表模型時(shí),model為undefined。7. apache - 想把之前寫的單機(jī)版 windows 軟件改成網(wǎng)絡(luò)版,讓每個(gè)用戶可以注冊并登錄。類似 qq 的登陸,怎么架設(shè)服務(wù)器呢?8. android - 課程表點(diǎn)擊后浮動(dòng)后邊透明可以左右滑動(dòng)的界面是什么?9. python3.x - c++調(diào)用python310. java - 根據(jù)月份查詢多個(gè)表里的內(nèi)容怎么實(shí)現(xiàn)好?
