LeetCode 752. 打开转盘锁
双向广度优先搜索
queue<string> begin_queue,end_queue;
begin_queue.push(begin);
end_queue.push(end);
unordered_set<string> begin_visited,end_visited;
begin_visited.insert(begin);
end_visited.insert(end);
int step=0;
while(!begin_queue.empty()&&!end_queue.empty())
{
if(begin_queue.size()<end_queue.size())
{
//处理begin_queue
//若搜索到end_visited中的节点,则直接返回step+1;
}
else
{
//处理end_queue
//若搜索到begin_visited中的节点,则直接返回step+1;
}
step++;
}
queue<string> begin_queue,end_queue;begin_queue.push(begin);end_queue.push(end);unordered_set<string> begin_visited,end_visited;begin_visited.insert(begin);end_visited.insert(end);int step=0;while(!begin_queue.empty()&&!end_queue.empty()){if(begin_queue.size()<end_queue.size()){//处理begin_queue//若搜索到end_visited中的节点,则直接返回step+1;}else{//处理end_queue//若搜索到begin_visited中的节点,则直接返回step+1;}step++;}

浙公网安备 33010602011771号