: छद्म कोड में, आप कुछ इस तरह कर सकता है ction। आपका सेटअप उचित स्थिति बनाएगा (दो ढेर बनाएं, उन्हें पास करें, आदि) और फिर रिकर्सिव विधि को कॉल करें और जब रिकर्सिव विधि पूरी की जाती है, तो परिणामों की रिपोर्ट करें।
आपके मामले में आप शायद "पुनरावर्ती" विधि के लिए इस हस्ताक्षर हैं:
public boolean compareStacks(Stack one, Stack two)
कि विधि पॉप & तुलना ढेर के शीर्ष टो तत्वों, यह सही तो झूठे लौट सकते हैं (वे कह डॉन तुलना नहीं करते हैं)। यदि वे करते हैं, तो अब आपके पास दो ढेर हैं, प्रत्येक एक से पहले छोटा है। आप पहले से ही जानते हैं कि उन दो ढेरों की तुलना कैसे करें, ठीक है (आपने बस ऐसा करने के लिए विधि लिखी है!)।
अंत में आप लौटने से पहले अपने पिछले तत्व को पुनर्स्थापित करने के लिए प्रत्येक स्टैक पर अपने तत्व को "पुश" कर सकते हैं।
उस मामले में स्टैक को बहाल करने में थोड़ी सी चाल होगी जहां उनकी तुलना नहीं की जा रही है, और यह सुनिश्चित करना कि यदि तुलना स्टैक आप कॉल करते हैं तो यह ठीक हो जाता है कि यह पिछले राज्य तक ठीक से गुजरता है, भले ही "वर्तमान" तुलनास्टैक सफल होता है, लेकिन वे कार्यान्वयन के विवरण हैं - बस सोचा कि मैं उनको जिक्र करूँगा ताकि आप उन्हें नजरअंदाज न करें।
कोशिश/आखिरकार (कोई पकड़ नहीं है, अंत में स्टैक पर वापस धक्का दें) के साथ एक प्यारा समाधान है जो कोड को बहुत चिकना कर देगा, लेकिन इसके बिना यह काफी आसान है।
स्रोत
2013-03-05 17:55:58
मुझे विश्वास है कि यह काम करता है। – user
सुंदर ... कमाल ... आप गंभीर रूप से आदमी हैं। – user
@user: मेरा सुधार देखें - कोशिश करें/अंत में आप डुप्लिकेट कोड से बचें जो स्टैक राज्यों को पुनर्स्थापित करता है। –