আমি কিছুক্ষণের জন্য একটি ক্লাসের জন্য জাভা প্রকল্পে কাজ করছি। এটি একটি লিঙ্কযুক্ত তালিকার একটি বাস্তবায়ন (এখানে ডাকা হয় 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);
}
আমি এখানে থাকাকালীন কেউ কি এই রুটটিতে কোনও সমস্যা দেখতে পাবে?