阿里巴巴2014筆試演算法題匯總

來源:互聯網
上載者:User


bool IsSubtree(BinaryTreeNode* pRoot1, BinaryTreeNode* pRoot2) {      if (pRoot1 == NULL || pRoot2 == NULL) {          return false;      }      stack<BinaryTreeNode*> stk;      stk.push(pRoot1);      while (!stk.empty()) {          BinaryTreeNode *tmp = stk.top();          stk.pop();          if (tmp->m_nValue == pRoot2->m_nValue) {              stack<BinaryTreeNode*> first;              BinaryTreeNode *f;              stack<BinaryTreeNode*> second;              BinaryTreeNode *s;              first.push(tmp);              second.push(pRoot2);              bool find = true;              while (!first.empty()) {                  f = first.top();                  first.pop();                  s = second.top();                  second.pop();                  if (f->m_nValue != s->m_nValue) {                      find = false;                      break;                  }                  if (s->m_pLeft != NULL) {                      if (f->m_pLeft == NULL) {                          find = false;                          break;                  } else {                          first.push(f->m_pLeft);                          second.push(s->m_pLeft);                      }                  }                  if (s->m_pRight != NULL) {                      if (f->m_pRight == NULL) {                          find = false;                          break;                  } else {                          first.push(f->m_pRight);                          second.push(s->m_pRight);                      }                  }              }              if (find == true && first.empty()) {                  return true;              }          }          if (tmp->m_pLeft != NULL) {              stk.push(tmp->m_pLeft);          }          if (tmp->m_pRight != NULL) {              stk.push(tmp->m_pRight);          }      }      return false;  }  

2.



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.