文件名称:leetcode怎么跑-rusticode:是树和链表,快跑!
文件大小:55KB
文件格式:ZIP
更新时间:2024-07-20 03:05:46
系统开源
leetcode怎么跑 rusticode 是树和链表,快跑! 初心 刚用rust写leetcode的时候,一遇到树和链表的题,就满地clone,才能通过编译。后面对rust熟悉了之后,就找到了一些避免多余副本的方法。因为每一个副本都需要消耗内存,克隆的操作可能也会比较耗时。如果一直clone,速度和效率就大打折扣了。相比隔壁的C,虽然有了自动内存管理,但却是以拷贝作为代价。 概括地说,避免不必要clone的方法是: 使用引用,适用于不需要修改原数据结构的场景,比如树的深度,链表的长度。 使用take,适用于需要修改原数据结构的场景,比如重建二叉树。 对于那些正在用rust写题的同学,可能树和链表的代码是最有参考性的。 misc 你可以通过cargo跑测试。这里面的测试并没有涵盖所有的题目。一开始,每做一题我都会在lib.rs写对应的测试,后来觉得太麻烦就没有写了。 cargo test 如果你想在rust中写C,这个项目也有一点点的参考价值。你可以看看lib.rs和leetcode.c是怎么交互的。 wishes 愿凡有所得,皆能自利利他。
【文件预览】:
rusticode-master
----.gitignore(327B)
----README.md(1KB)
----leetcode()
--------src()
--------Cargo.toml(175B)
--------build.rs(114B)