int m_result = 0; for (auto it = m_Nodes.begin(); it != m_Nodes.end(); it++) { if (it->second->m_next.size() == 0) { Node*head = it->second->pre; int m_temp = 0; while (head) { m_temp += head->m_next.size() - 1; head = head->pre; } m_result = std::max(m_result, m_temp); } } std::cout << m_result; return 0; 有没有大佬可以看看,可惜没有写完(一开始没有想到,第一题就用了10分钟,结果第二题做了50分钟都没做出来,真的难受)