如何递归连接字符串元素列表

2023-12-26

我正在查看准备考试的示例,坦率地说,我不太擅长递归或列表,尤其是列表。

给定一个节点类,它将保存字符串(不是通用的),编写一个名为 concat 的递归 java 函数,该函数采用表示链表头的节点,并返回表示链表中所有元素的串联的字符串(如果链表是)空字符串也应该如此。

任何帮助,将不胜感激。

(以下是我在提问之前输入的内容:)

public static String FindConcat(Node head) {
    String s = "";
    if(head == null) return s;
    else if(head.next = null) {
        s += head.data;
        return s;
    }
    else {

    }

}

感谢您的回复。


在这种情况下,递归是找到基本情况以及如何将数据“划分”到该基本情况。因此,首先定义您的“基本情况”。

  • 基本情况:函数的参数为​​ null
  • 直到获得基本情况,附加节点的文本并跳过第一个元素

这是你的方法:

public static String FindConcat(Node head) {
    if (head == null) 
        return ""; // base case

    // devide it down (run recursive FindConcat on the _next_ node)
    return head.data + FindConcat(head.next);
}

这个简单的例子将打印hello this is a linked list:

public class Test {
    // this is a very basic Node class
    static class Node {
        String text;
        Node next;

        public Node(String text) {
            this.text = text;
        }
        // used for building the list
        public Node add(String text) {
            next = new Node(text);
            return next;
        }
    }

    // this is the recursive method concat
    public static String concat(Node node) {
        if (node == null)
            return "";

        return node.text + " " + concat(node.next);
    }

    public static void main(String[] args) {
        // build the list
        Node head = new Node("hello");
        head.add("this").add("is").add("a").add("linked").add("list");

        // print the result of concat
        System.out.println(concat(head));
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何递归连接字符串元素列表 的相关文章

随机推荐

  • 支持分割视图并同时控制iPad方向

    我想禁用 iPad 中某个 UIViewController 的旋转 但同时保留应用程序中的分割视图 我知道我们可以在 常规 选项卡中选中 需要全屏 来触发委托方法supportedInterfaceOrientations shouldA
  • 迭代地查找字符数组中大小为 k 的所有组合(N 选择 K)

    我目前正在将这个问题作为个人项目来解决 基本上 给定一个元素数组 例如E 1 2 a b 且 给定一个数字 K 例如K 2 我想全部退回组合 https en wikipedia org wiki CombinationE 尺寸 K E 选
  • WPF 扩展器按钮的样式使其位于扩展器标头内

    我正在使用Expander控件并设置标题样式 如下图所示 http www hughgrice com Expander jpg http www hughgrice com Expander jpg 我遇到的问题是我希望扩展器按钮包含在标
  • 如何使用dylib文件?

    我正在尝试安装一个名为 V Rep 的机器人模拟软件来远程模拟机器人 我需要有remoteApi java and remoteApiJava dylib文件 我似乎不知道如何使用 dylib 文件 构建项目时出现的错误 Exception
  • ASP.NET Core 2.0 Web API Azure Ad v2 令牌授权不起作用

    我正在尝试使用 ASP NET Core 2 0 创建一个 Web API 服务器 该服务器使用 azure ad v2 端点令牌授权 我还有一个 Angular 2 应用程序 其中发生了 Office365 登录 我从那里获取令牌 然后向
  • jQuery Ajax 工具提示

    我尝试通过这个 jQuery 插件执行 Ajax 工具提示 http jquery bassistance de tooltip demo http jquery bassistance de tooltip demo 我有这样的事情 p
  • 为什么 AJAX 返回 HTTP 状态代码 0?

    由于某种原因 在使用 AJAX 时 与我的dashcode questions tagged dashcode开发的应用程序 浏览器只是停止上传并返回状态代码0 为什么会发生这种情况 另一个案例 可能会获得以下状态代码0如果你有发送 AJA
  • 访问 rundeck 节点上的环境变量

    这是一个由两部分组成的问题 我正在使用 rundeck 运行一个脚本 该脚本依赖于对我在 etc environment 中设置的节点上执行脚本的系统范围内的环境变量的访问 首先 如何让 rundeck 摄取系统环境 我在 rundeck
  • 如何判断给定的数字是八进制还是不是八进制?

    在此我发现八进制数最多为 3 位数字 并且我使用了冗长的 if 条件 任何人都可以减少此 if 语句和分配的值 请注意 不要使用预定义的进程或内置包 import java util Scanner class octdec public
  • 从 tpl Sencha 传递参数

    我的json如下 status TRUE message Words data name paint author snooky word id 1 category Business definitions rating Green de
  • 在 android studio 中编译项目时出现重复条目​​:com/android/volley/AuthFailureError.class

    我正在使用外部库 payu Money sdk 和 linkedin sdk 两者都使用 volley 库 在编译项目时会给出 AuthFailureError class 的重复条目 错误 任务 app packageAllDebugCl
  • AndroidHttpClient 和 DefaultHttpClient

    这两者之间有很大区别吗 最好使用哪一个 基于Android源码 https github com CyanogenMod android frameworks base blob gingerbread core java android
  • const 后出现意外的令牌

    当我尝试指定一个常量时 我 在 React 中遇到了意外的令牌错误 但我似乎无法弄清楚原因 我的代码非常简单 并且我遵循了react bootstrap示例here https react bootstrap github io compo
  • 如何在使用 fstream 打开文件时截断文件

    我知道可以用以下命令截断文件 std fstream fs mypath std fstream out std fstream trunc 但我需要读取文件 截断它 然后使用相同的文件句柄写入新内容 因此整个操作是原子的 任何人 我不认为
  • Rails 用户:您使用什么异常通知软件?

    我见过 Ryan Bates 谈论过异常记录器和异常通知 还有其他好的可以考虑吗 您喜欢和不喜欢这些内容的哪些方面 另外 如果您捕获这些异常通知程序 它们是否会记录异常 Thanks 我强烈推荐使用Hoptoad http hoptoada
  • wget 拒绝仍然下载文件

    我只想要文件夹结构 但我不知道如何使用 wget 相反 我正在使用这个 wget R pdf css gif txt png np rhttp example com http example com 它应该拒绝 R 之后的所有文件 但在我
  • 为 kendo ui 网格列定义自定义模板

    我有一个 kendo ui 网格 我想绑定图像 这是我的代码 model List
  • APScheduler(高级 Python 调度程序)导入错误:没有名为调度程序的模块

    我遇到以下导入错误 导入错误 没有名为调度程序的模块 当我运行以下 python 脚本时 Demonstrates how to use the blocking scheduler to schedule a job that execu
  • 如何在React Native中离线捆绑iOS?

    任何人都可以解释一下如何从 反应本机 代码生成 iOS 应用程序的离线包吗 我已经尝试过了如何为react native生成 ipa文件 https stackoverflow com questions 41970435 how to g
  • 如何递归连接字符串元素列表

    我正在查看准备考试的示例 坦率地说 我不太擅长递归或列表 尤其是列表 给定一个节点类 它将保存字符串 不是通用的 编写一个名为 concat 的递归 java 函数 该函数采用表示链表头的节点 并返回表示链表中所有元素的串联的字符串 如果链