這是while循環的正確邏輯: 1.如果堆棧不是空的執行... 2.檢查堆棧頂部的元素==隊列底部的元素。這個while循環如何迭代?
這將繼續,直到堆棧/隊列首先完成(如果一個迴文,然後他們在同一時間完成)?我認爲對於if(s.pop()....)我必須用for循環來遍歷?
乾杯!
for (int i = 0; i < word.length(); i++) {
letter = word.charAt(i);
s.push(i);
q.add(i);
}
while (!s.isEmpty()) {
if (s.pop()) != q.remove()) {
return false;
}
}
如果's'是你的堆棧...什麼是'q'? – Tavo
首先解釋你正在嘗試做什麼。 – shmosel
你可能打算在'push'和'add'調用中使用'letter'(而不是'i')。另外,返回新的StringBuilder(word).reverse()。toString()。equals(word);'更具可讀性。 –