আমি কিছুক্ষণের জন্য একটি ক্লাসের জন্য জাভা প্রকল্পে কাজ করছি। এটি একটি লিঙ্কযুক্ত তালিকার একটি বাস্তবায়ন (এখানে ডাকা হয় AddressList
, সাধারণ নোডযুক্ত বলে ListNode
)। ক্যাচটি হ'ল সমস্ত কিছু পুনরাবৃত্ত আলগোরিদিম দিয়ে করতে হবে। আমি এক পদ্ধতিতে সমস্ত কিছু জরিমানা করতে সক্ষম হয়েছি:public AddressList reverse()
ListNode:
public class ListNode{
public String data;
public ListNode next;
}
এই মুহুর্তে আমার reverse
ফাংশনটি কেবলমাত্র একটি সহায়ক ফাংশনকে কল করে যা পুনরাবৃত্তি করার অনুমতি দেওয়ার জন্য একটি যুক্তি লাগে।
public AddressList reverse(){
return new AddressList(this.reverse(this.head));
}
স্বাক্ষর সহ আমার সহায়ক ফাংশন সহ private ListNode reverse(ListNode current)
।
এই মুহুর্তে, আমি এটি স্ট্যাক ব্যবহার করে পুনরাবৃত্তভাবে কাজ করছি, তবে স্পেসিফিকেশনটির জন্য এটি প্রয়োজনীয় নয়। আমি সি-তে একটি অ্যালগরিদম পেয়েছি যা এটি পুনরায় বিপরীত হয়ে হাতে হাতে জাভা কোডে রূপান্তরিত করে, এবং এটি কাজ করে, তবে আমার এটি সম্পর্কে কোনও ধারণা ছিল না।
সম্পাদনা: কিছুই নয়, এর মধ্যেই আমি এটি বের করে ফেললাম।
private AddressList reverse(ListNode current, AddressList reversedList){
if(current == null)
return reversedList;
reversedList.addToFront(current.getData());
return this.reverse(current.getNext(), reversedList);
}
আমি এখানে থাকাকালীন কেউ কি এই রুটটিতে কোনও সমস্যা দেখতে পাবে?