第二题可以这样 import java.util.*; public class Main {     static List<String> res;     static Deque<String> road;     public static void main(String args[]) {         Scanner sc = new Scanner(System.in);         int S = Integer.parseInt(sc.nextLine());         for (int i = 0; i < S; i++) {             String nums1 = sc.nextLine();             String nums2 = sc.nextLine();             res = new ArrayList<>();             road = new ArrayDeque<>();             find(nums1, "", nums2);             printResult(res);         }     }     private static void find(String origin, String now, String target) {         if (target.equals(now)) {             for (int i = 0; i < origin.length(); i++) {                 road.offerLast("d ");             }             res.add(String.join("", road));             for (int i = 0; i < origin.length(); i++) {                 road.pollLast();             }             return;         }         if (origin == null || origin.length() == 0 || now.length() >= target.length()) {             return;         }         String left = String.valueOf(origin.charAt(0));         String remain = origin.substring(1);         road.offerLast("d ");         find(remain, now, target);         road.pollLast();         road.offerLast("l ");         find(remain, left + now, target);         road.pollLast();         road.offerLast("r ");         find(remain, now + left, target);         road.pollLast();     }     private static void printResult(List<String> res) {         System.out.println("{");         for (String oneRes : res) {             System.out.println(oneRes);         }         System.out.println("}");     } }
点赞 评论

相关推荐

点赞 评论 收藏
分享
牛客网
牛客企业服务